[英]Select every div inside another div and check it's class with jQuery
我有一个聊天系统,并且正在使用jQuery + JSON + PHP显示消息。 我的问题是:我必须在div中的“ #chatMessages”中选择每个div,其中包含消息,并检查其类以查看其是否存在,这是我的Ajax代码:
var data = {};
$.ajax({
type: "GET",
dataType: "json",
url: "../room/a.php",
async: true,
cache: false,
data: data,
success: function(response) {
if(response.error) {
alert(response.msg);
} else {
for(var i = 0; i < response.length; i ++) {
if($("#chatScreen > *").hasClass("message" + i) == false)
$("#chatScreen").append($("<div>",{
class : 'message' + response[i][1],
html : response[i][0] + ' ' + response[i][4]
}));
}
}
},
error: function (response) {
},
complete: function () {
}
});
response[i][0]
包含名称,而response[i][4]
包含消息。 它工作正常,但是我每3000毫秒加载一次此函数,因此它会重复每条消息,如何检查每div的div来搜索类'message' + response[i][1]
(包含MySQL的唯一ID)?
我尝试使用“ .hasClass()”,但是它不起作用。
如果您想知道DIV中是否有给定类的任何元素,则可以执行以下操作:
if ($("#chatScreen").find(".message"+response[i][1]).length > 0) {
您可以对其进行重构,这样就不必每次通过循环都搜索#chatScreen
:
var chatScreen = $("#chatScreen");
for(var i = 0; i < response.length; i ++) {
if(chatScreen.find(".message"+response[i][1]).length > 0) {
chatScreen.append($("<div>",{
class : 'message' + response[i][1],
html : response[i][0] + ' ' + response[i][4]
}));
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.