2016-07-28 42 views
0

这可以通过CSS3完成吗?通过CSS将所有输入文本的样式应用于CSS

var inputs = document.getElementsByTagName("INPUT"); 
for (var i = 0; i < inputs.length; i++) 
{ 
    if (inputs[i].type == "text") 
    { 
     if (inputs[i].value != "") 
     { 
      inputs[i].style.borderBottomColor = '#448aff'; 
     } 
    } 
} 

var textareas = document.getElementsByTagName("TEXTAREA"); 
for (var i = 0; i < textareas.length; i++) 
{ 
    if (textareas[i].value != "") 
    { 
     textareas[i].style.borderBottomColor = '#448aff'; 
    } 
}  

我不介意甚至不支持IE10。

+2

正如本文所述[线程​​](http://stackoverflow.com/questions/16952526/detect-if-an-input-has-text-in-it-using-css-on-a-page-i -am-visiting-and-do-no),CSS无法做到这一点。 – Ar4i

回答

0
textarea:valid, 
input:valid { 
    border-bottom-color: #448aff; 
} 

还需要添加pattern=".*?\S.*"(仅适用于有至少一个非空格字符)和required属性得到茨艾伦伪类。您可能也想要自定义:invalid状态。

+0

关于输入,它总是“空的”或与之类似的:空(空标签,带有开始和结束标签,中间没有文本,甚至不是空白=> [您的代码既不能在Firefox中运行也不能在Chrome浏览器](http://codepen.io/PhilippeVay/pen/OXEqEg?editors=1000) – FelipeAls

+0

@felipeals现在怎么样?(我在我的手机上。) – Walf