我正在使用以下jQuery代码来计算具有与其标题属性相同的值的文本字段的数量。jQuery选择不包含特定值的元素
$(".textfield").val($(".textfield").attr('title')).size();
问题:我怎么数着不文本字段的数量已经等于其标题属性的值?
我正在使用以下jQuery代码来计算具有与其标题属性相同的值的文本字段的数量。jQuery选择不包含特定值的元素
$(".textfield").val($(".textfield").attr('title')).size();
问题:我怎么数着不文本字段的数量已经等于其标题属性的值?
首先,你发布的代码没有做你说的那样。这:
$(".textfield").val($(".textfield").attr('title')).size();
威尔设置的带班“.textfield”第一个“.textfield”元素的title属性的标题所有元素的值,然后返回所有的人的数量。
您需要将方法的返回值(无参数返回当前值)与.attr('title')
方法的返回值进行比较。你可以用.filter()
做到这一点,然后检查所生成的jQuery对象的.length
:
$('.textfield').filter(function() {
var $this = $(this);
return $this.val() == $this.attr('title');
}).length;
然后让这些计数当值不等于只是做同样的事情,除了与!=
,而不是==
。所以:
$('.textfield').filter(function() {
var $this = $(this);
return $this.val() != $this.attr('title');
}).length;
(注意:.length
会给你同样的算作.size()
,但没有一个函数调用的开销。)
我会使用filter()
然后访问返回集的length
属性。
var count = $('.textfield').filter(function() {
return $(this).val() != $(this).attr('title');
}).length;
你也很可能逃脱的filter()
作为return this.value != this.title
身体。
filter
功能。length
属性选择var length = $('.textfield').filter(function() {
return this.value != this.title;
}).length;
它是'textfield'而不是'textbox' – gdoron 2012-01-31 04:32:05
Thanks @gdoron。固定。 – nnnnnn 2012-01-31 05:04:49