$('input [value =“”]')。size()不起作用

时间:2012-10-31 05:54:54

标签: jquery textbox

我有这个HTML

<input type="text" value="" id="AA">


在Firefox 8.0.1中,如果我在输入框中输入CCC,请使用仍显示

的Firebug进行检查
<input type="text" value="" id="AA">

而不是

<input type="text" value="CCC" id="AA">


所以,当我

alert($('input[value=""]').size())

它产生的1应为0.但是当我

alert($('input[value=""]').val())

它产生CCC。那么如何更新属性“value”以反映实际值?

2 个答案:

答案 0 :(得分:2)

value存储为属性而非属性,您可以使用filter方法:

var len = $('input[type=text]').filter(function(){
      return $.trim(this.value) === ""
}).length;

http://jsfiddle.net/f5GwX/

答案 1 :(得分:1)

另一种方法是:

var emp = $('input:text[value=""]'); // get all empty textboxes

// iterate over each of them and apply the css
$.each(emp, function(){
      $(this).css('border', '1px solid red');
});

http://jsfiddle.net/cU7E4/1/

<强>更新

正如Shaheer所指出的,可以用一行代码来完成。

 $('input:text[value=""]').css('border', '1px solid red');