我试图检测是否已将具有特定标记名称的元素插入到文档中。我知道DOMSubtreeModified
和MutationObserver
,我知道他们可以检测到元素的变化,但是如果文档很大并且对文档应用了很多更改,那么这两种方法就会变得非常繁重。
我的一个想法是使用getElementsByTagName
收集所有元素,然后检测HTMLCollection的length
属性的更改,但我没有找到任何可以观察的方法此属性并触发事件。
我的另一个想法是设置一个间隔,但问题是可以删除一个项目并将其插入到计时器之间,这不会在间隔的功能中被检测到。 / p>
在整个文档中是否有高效检测新元素插入的方法?或者,如何检测HTMLCollection长度属性的变化?
感谢您的回答。
答案 0 :(得分:2)
这是一个想法:
$(document).on("change","select",function() {
// all current and future selects will have this event
});
但是你需要查看它是否与添加的元素相同,而且我还没弄清楚如何检查删除,因为那是parentNode.removeChild
如果你想要jQuery中所有选择的事件,你所要做的就是委托
{{1}}