2013-03-26 32 views
0

以下我試圖追蹤插入到p-msg-class類中的最後一個元素,但由於其他元素動態插入到.middle-ui,.flt-rt,.content-ht中,所以我看到該警告很多次。我怎麼能只跟蹤p-msg-class,並警告停止所有其他HTML動態插入jquery獲取特定類的味精

$('.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

你試過'find('。p-msg-class:last')'? – 2013-03-26 14:33:55

+0

是的,但它怎麼會每次解決問題的前例:class =「new」插入我得到警報.. – Rajeev 2013-03-26 14:35:08

+0

哦,我看到現在的問題是什麼。所以,你必須找出插入的元素類是什麼,如果它是'p-msg-class',那麼執行警報。新元素是否總是附加到最後? – 2013-03-26 14:42:38

回答

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)或類似的東西。

不確定這會起作用,但它可能會指向正確的方向。

+0

hmnn我試過this.but這只是提醒所有元素插入到'.middle-ui,.flt-rt,.content-ht' – Rajeev 2013-03-27 18:20:20

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()); 
    } 
});