从条件获得“这个”?

时间:2013-11-25 13:35:18

标签: jquery

在jquery中,我想为每个返回true的元素执行一个动作。我不知道如何从条件引用元素。在我意识到自己做错了之前,这就是我的尝试:

if( $('input').val() ) {
    console.log(this);
}

4 个答案:

答案 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());
});