我想計算我的表單中的所有輸入爲空。對於空的我的意思是它的值在修剪它的值後是空的(如果用戶插入空格也是空的)。 這個jQuery指望他們,但不包括修剪:是否可以在選擇器中進行修剪?
$(':text').filter('[value=""]').length
擁有jQuery的東西可以用來在選擇修剪?
感謝
我想計算我的表單中的所有輸入爲空。對於空的我的意思是它的值在修剪它的值後是空的(如果用戶插入空格也是空的)。 這個jQuery指望他們,但不包括修剪:是否可以在選擇器中進行修剪?
$(':text').filter('[value=""]').length
擁有jQuery的東西可以用來在選擇修剪?
感謝
$(':text').filter(function() {
return $.trim($(this).val()).length === 0;
});
而在@ Domenic的回答是一個很好的辦法the .filter()
method,我想不同的方式實現這一點。
例子:http://jsfiddle.net/patrick_dw/mjuyk/
$('input:text').filter(function() {
return !$.trim(this.value);
});
input:text
。否則,jQuery需要在DOM中每元素觀察以查看它是否爲type='text'
。 (See the docs.)this.value
比$(this).val()
更快。length
屬性。所以只需使用!
運算符。或者你可以使用的.filter()
倒數,這是the .not()
method:
例子: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')
+1打我給它。 ;) – Stephen 2010-11-24 19:32:54