我有一个网页,可以包含这样的项目列表:
<input type="text" class="stringItems" value="This is my string 1" />
<input type="text" class="stringItems" value="This is my string 2" />
<input type="text" class="stringItems" value="This is my string 3" />
<input type="text" class="stringItems" value="This is my string 4" />
<input type="text" class="stringItems" value="This is my string 5" />
<input type="text" class="stringItems" value="This is my string 6" />
在将数据发送到我的服务器之前,我将它们全部放在这样的数组中:
$('.stringItems').map(function(i, e) {
return e.value;
}).toArray());
所以这一切都很有效。
但现在我需要过滤出可能包含空值的<input>
元素,如下所示:
<input type="text" class="stringItems" value="" />
基本上,我不希望它们成为数组UNTIL的一部分。
是否有一个jquery方法可以用来过滤掉空值的元素?
答案 0 :(得分:5)
试试这个:
$('.stringItems').map(function(i, e) {
if(e.value.trim() != '')
return e.value;
}).toArray();
请在演示中查看控制台内的console.log,您可以看到没有空值的数组
答案 1 :(得分:1)
您可能想要使用filter()方法:http://api.jquery.com/filter/
e.g。
$('.stringItems').filter(function(i, e) {
return e.value != '';
}).map(function(i, e) {
return e.value;
});
答案 2 :(得分:1)
您可以使用选择器完成所有操作,即:
$('.stringItems').not("[value='']").map(function(i, e) {
return e.value;
}).toArray();