0

在下文中,我试图跟踪插入到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());
     }
  });
4

2 回答 2

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());
    }
});
于 2013-03-26T23:20:30.430 回答
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)或类似的东西。

不确定这是否可行,但它可以为您指明正确的方向。

于 2013-03-26T15:01:16.027 回答