是否可以在选择器中进行修剪?
我想计算我的表格中所有空的输入。 对于空,我的意思是在修剪其值后它的值为空(如果用户插入空白也是空的)。 这个jquery计算它们,但它不包括修剪:
$(':text').filter('[value=""]').length
有什么jquery可用于在选择器中修剪?
谢谢
$(':text').filter(function () { return $.trim($(this).val()).length === 0; });
虽然.filter()
的答案中的.filter()
方法是一个很好的方法,但我的实现方式有点不同。
示例: http : //jsfiddle.net/patrick_dw/mjuyk/
$('input:text').filter(function () { return !$.trim(this.value); });
- 您应该指定
input:text
。 否则,jQuery需要观察DOM中的每个元素,看它是否为type='text'
。 ( 参见文档。 ) - 因为这些是文本输入,所以使用
this.value
比$(this).val()
更快。 - 由于空字符串是假的,因此无需获取
length
属性。 所以只需使用!
运营商。
或者你可以使用.filter()
的逆,这是.filter()
.not()
方法 :
示例: http : //jsfiddle.net/patrick_dw/mjuyk/1/
$('input:text').not(function () { return $.trim(this.value); });
此外,您可以创建这样的自定义选择器:
示例: http : //jsfiddle.net/patrick_dw/mjuyk/2/
$.extend($.expr[':'], { novalue: function(elem, i, attr){ return !$.trim(elem.value); } }); $('input:text:novalue')