在jquery中,我想为每个返回true的元素执行一个动作。我不知道如何从条件引用元素。在我意识到自己做错了之前,这就是我的尝试:
if( $('input').val() ) {
console.log(this);
}
答案 0 :(得分:3)
线索在您的问题中,您可以使用each()
。 this
将引用当前循环的DOM元素。 (所以你可以使用.value
属性):
$('input').each(function(){
var myVal = this.value
if(myVal){
console.log(myVal);
}
})
答案 1 :(得分:2)
$('input')
将返回一个jQuery set 元素,其中可能包含多个元素。在某个集合上调用val
只会为您提供第一个匹配元素的值。
您可以使用each
单独检查:
$('input').each(function() {
if (this.value) { // No need for $(this).val() because `input` elements have a `value` property
// do something with it
}
});
或者您可能希望通过filter
获得仅包含匹配元素的集合:
var inputsWithEmptyValues = $('input').filter(function() {
return !this.value;
});
...然后用套装做点什么。
答案 2 :(得分:0)
使用.each()
。 Here
$('input').each(function(){ console.log($(this).val()) });
答案 3 :(得分:0)
像这样迭代:
$('#input').each(function (index, item) {
Console.Log($(item).val());
});