Привет, я работаю над 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);
},
im создает новые окна, подобные этому
chatbox.newWindow("USERNAME", "28");
все, что я хочу, это выбрать конкретный div для чата по идентификатору атрибута data
этот код im используется, когда я пишу кого-то, с которым я сосредоточился, поэтому я могу получить идентификатор, выбрав div следующим образом:
var id = $(this).closest(".chat").data("id");
но я хочу найти чат с определенным идентификатором, подобным этому
var chatid = $("body").find(".chat[data-id=1]");
Спасибо за помощь
Попробуй это:
var chatid = $('.chat').filter(function () {
return $(this).data('id') == 1;
});
Я думаю, вы можете использовать, как показано ниже
var chatid = $(".chat").find("[data-id='" + current + "']");
Кроме того, я нахожу больше советов в jQuery, как найти элемент на основе значения атрибута данных?
Вы должны использовать attr("data-id")
чем data("id")
setDataAttribute()
?