我正在使用以下 jQuery 代码来计算值与其 title 属性相同的文本字段的数量。
$(".textfield").val( $(".textfield").attr('title') ).size();
问题:如何计算不的值等于其 title 属性的文本字段的数量?
最佳答案
首先,您发布的代码并没有按照您所说的那样执行。这:
$(".textfield").val( $(".textfield").attr('title') ).size();
将设置具有类“.textfield”的所有元素的值到第一个“.textfield”元素的标题属性的标题,然后返回计数所有这些。
你需要比较.val()
的返回值方法(不带参数返回当前值)返回 .attr('title')
方法。你可以用 .filter()
做到这一点然后检查 .length
生成的 jQuery 对象:
$('.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()
相同的计数,但没有函数调用的开销。)
关于javascript - jQuery 选择不包含特定值的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9074241/