HTML5 包含一个 “变异观察者” 的概念来监测浏览器 DOM 的变化。
您的观察者回调将传递看起来很像 DOM 树片段的数据。我不知道它们到底是不是这样或者它们是如何工作的。
但是,当您编写代码与您无法控制的第三方网站进行交互时,例如使用 Greasemonkey 脚本或 Google Chrome 用户脚本,您必须检查传入的元素树以找到与您相关的信息。
对于选择器,这比手动遍历树要简单得多,就像使用任何 DOM 一样,尤其是对于跨浏览器代码。
有没有办法将 jQuery 选择器与传递给 HTML5 突变观察者回调的数据一起使用?
原文由 hippietrail 发布,翻译遵循 CC BY-SA 4.0 许可协议
是的,您可以对返回到变异观察者回调的数据使用 jQuery 选择器。
看到这个jsFiddle。
假设你有这样的 HTML 并且你设置了一个观察者,如下所示:
您会注意到我们可以在
mutation.removedNodes
上使用 jQuery。如果您随后从控制台运行
$(".myclass").html ("[censored!]");
, 您将从 Chrome 和 Firefox 获得:这表明您可以在返回的节点集上使用普通的 jQuery 选择方法。