有新添加的DOM元素使用功能

时间:2014-06-30 04:51:36

标签: javascript jquery

我的JS中有以下设置:

$('.selector').selectpicker();

当新的DOM元素添加到页面时,上述方法不适用于新的DOM元素。我知道,在其他情况下,我可以执行以下操作,以便新添加的DOM元素起作用:

$(document).on("click", ".class-here", function() {

});

但是,第一个方法如何改变为使用新的DOM元素(而不是再次调用相同的方法)?

3 个答案:

答案 0 :(得分:0)

您可以使用3级事件创建DOM节点,例如.on("DOMNodeInserted",(selector),(function)),只要插入适合选择器的元素,就可以执行您的函数。见How to catch creation of DOM elements and manipulate them with jQuery

答案 1 :(得分:0)

答案取决于您正在呼叫的功能(此处为selectpicker)。

如果您正在谈论引导功能,您可以这样做:

$('.selector').selectpicker("refresh");

更改DOM后。

答案 2 :(得分:-1)

你的问题是关于绑定DOM中的新元素,jquery的先前版本使用bind和unom在dom中的新元素的方法。

但如果您使用jQuery 1.3+,那么您可以编写

     $('selector').live('event',function (){ //do some action });

在上面的jquery中,你不需要在DOM上绑定/取消绑定元素。

但是jQuery 1.7+的最新版本,您可以直接使用上面提到的.on()方法,这意味着您并不关心绑定,取消绑定DOM更改'。

On()很简单,您可以为特定选择器上的多个事件编写公共回调。

我希望这些细节对您有用,并且您得到了答案。如果您使用' on()'那么你不需要在DOM中绑定元素。