使用JQuery监视HTML Div的动态更改

时间:2012-11-21 12:44:02

标签: jquery html css dom

我有一个基于浏览器的聊天应用程序,其中为每个聊天创建了单独的div 整个聊天由外部模块管理,我无法访问他们的代码。

请注意,任何地方都没有ID,只有为聊天窗口动态创建的div的css类名。

每当新的聊天对话开始时,都会在父div(css类:' tabcontent')下创建该聊天的新div(使用css类:chat_incoming)。

使用jQuery,我如何监视父(使用css class:tabcontent)div进行任何更改,例如新增加的子项(使用css类:chat_incoming)?

我在这里没有点击事件可以用来监控div,在聊天信使窗口加载后我也没有加载div。聊天启动可能在用户登录后的任何时间发生,直到那时父div不会为聊天创建子div。

我自己做了一些不做任何事情的家庭作业。

使用jQuery,我有点明白,我可能不得不使用' .on'能够监视已经可用/动态创建的div的事件,但是我没有在这里使用JQuery .on()的click事件。

我的下一个猜测是使用

$('tabcontent').bind('DOMNodeInserted DOMNodeRemoved', function(event) {alert('hi')});

但出于某种原因,这似乎也不起作用? (见小提琴here

任何指导意见。

谢谢。

2 个答案:

答案 0 :(得分:3)

您的jQuery正在寻找tabcontent,而不是.tabcontent。与名为tabcontent的标记一样,不是名为tabcontent

的类

更改它,它应该开始工作(希望,如果脚本中的其他一切都正常)

$('.tabcontent').bind('DOMNodeInserted DOMNodeRemoved', function(event) {alert('hi')});

答案 1 :(得分:1)

你可以试试这个..

$(".tabcontent").bind("DOMSubtreeModified", function() {
    alert("tree changed");
});

希望这有帮助