如何在具有相同类的多元素中找到属性

how to find a property in multi element with same class?

本文关键字:元素 属性 同类      更新时间:2023-09-26

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

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]它显示了整个标签,我需要知道为什么?谢谢。

$('.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;

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

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