如何在同一个类的多元素中找到属性?

时间:2015-01-22 16:45:43

标签: javascript jquery

我需要找到一个具有相同类的属性,为此我使用一个循环,例如:

for(var i = 0; i < $('.chat-to').length; ++i)
        if($('.chat-to')[i].prop('id') == receiverID)
            return;

但在运行时if语句抛出错误 Uncaught TypeError: undefined is not a function虽然当我在控制台中使用此代码$('.chat-to')[i]对其进行测试时,它会显示整个标记,但我需要知道原因吗?感谢。

2 个答案:

答案 0 :(得分:3)

$('.chat-to')[i]返回DOM元素,而不是jQuery对象。您需要使用.eq()来获取jQuery对象。

for(var i = 0; i < $('.chat-to').length; ++i)
    if($('.chat-to').eq(i).prop('id') == receiverID)
        return;

或者,您可以使用计划DOM获取ID的方式:

for(var i = 0; i < $('.chat-to').length; ++i)
    if($('.chat-to')[i].id == receiverID)
        return;

答案 1 :(得分:0)

我用这个技巧解决了这个问题:

for(var i = 0; i < $('.chat-to').length; ++i) {
        var temp = $('.chat-to')[i];
        if ($(temp).prop('id') == receiverID)
            return;
    }