【发布时间】:2019-10-29 17:10:23
【问题描述】:
我试图在MutationObserver 中创建一个querySelectorAll 函数,所以它就像调用querySelectorAll 到新添加的元素一样。这样做的原因是它可以与其他现有代码一起使用。
事实证明,如果没有硬编码选择器和使用if 语句,这很难,我想到了以下所有失败的方法:
- 尝试使用已添加节点的父节点的
querySelectorAll,但随后会包含不只是添加的元素。 - 使用添加节点
querySelectorAll函数并合并所有结果,但由于不包含添加节点本身,它不起作用。 - 创建一个新元素并将所有添加的节点移至其中,并在该元素上调用
querySelectorAll,但随后在MutationObserver运行后节点消失并且不会被添加。
有没有办法做到这一点,或者对我想出的一种方法进行一些修改以使其有效?
【问题讨论】:
-
@T.J.Crowder 我会尝试,但有点难,因为这是 Google 浏览器扩展。
标签: javascript mutation-observers selectors-api