Js找到具有data属性的特定div

时间:2013-12-18 08:29:25

标签: javascript jquery

您正在进行javascript聊天,我想将数据附加到它所属的对话中 我有创建新窗口的功能,我为每个聊天div设置数据属性

newWindow: function(name, id) {               
            if(!pushChatToArray(removeWhiteSpace(name))) return;                
            var div = htmlStructure(removeWhiteSpace(name));                
            setName(div, name);                
            setDataAttribute(div,"open","active");                
            setDataAttribute(div, "id", id);                
            $("body").append(div);                
            setCoordinates(div);
        },

我正在创建像这样的新窗口

chatbox.newWindow("USERNAME", "28");

我想要的是通过数据属性id

选择特定的聊天div

这个代码我正在使用当我写一个我专注的人,所以我可以通过选择这样的div得到id:

var id = $(this).closest(".chat").data("id");

但我希望找到具有此特定ID的聊天

var chatid = $("body").find(".chat[data-id=1]");

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

试试这个:

var chatid = $('.chat').filter(function () {
    return $(this).data('id') == 1;
});

答案 1 :(得分:1)

我认为你可以使用如下

var chatid = $(".chat").find("[data-id='" + current + "']");

另外,我发现了更多提示 jQuery how to find an element based on a data-attribute value?

您应该使用attr("data-id")而不是data("id")