在下面我试图跟踪插入p-msg-class
类的最后一个元素,但是由于动态插入.middle-ui,.flt-rt,.content-ht
的其他元素,我很多次都会看到警报。如何仅跟踪p-msg-class
并使动态插入的所有其他html停止警报
$('.middle-ui,.flt-rt,.content-ht').bind('DOMNodeInserted', function(event) {
if($(this).find(".visitor-msg-cont").last().find(".p-msg-class").length > 0)
{
alert($(this).find('.visitor-msg-cont').last().find('.p-msg-class').last().html());
}
});
答案 0 :(得分:0)
好的,这样的事可行。获取添加的最后一个元素的类,并检查它是否为“p-msg-class”。
$('.middle-ui,.flt-rt,.content-ht').bind('DOMNodeInserted', function(event) {
var newElement = $(this).find(".visitor-msg-cont").last().children().last().attr("class");
if(newElement === "p-msg-class")
{
alert($(this).find('.visitor-msg-cont').last().find('.p-msg-class').last().html());
}
});
如果你知道子元素将是div或p,那么你可以使用children(div:last)
或类似的东西。
不确定这会起作用,但它可以指向正确的方向。
答案 1 :(得分:0)
没有看到更多的html结构,很难回答这个问题。我假设您正在动态插入可能有或没有类.p-msg-class的DOM元素。
为什么不在插入警报时抛出警报,而不是搜索最后插入的.p-msg-class元素?像这样(未经测试):
$('.middle-ui,.flt-rt,.content-ht').bind('DOMNodeInserted', function(event) {
if($(event).target.hasClass('p-msg-class'))
{
alert($(event).target.html());
}
});