我正在尝试以递归方式将对象重新应用CSSStyleDeclaration
到文档的 innerHTML 中的每个节点。例如,如果您window.getComputedStyle(document.getElementsByTagName("a")[0])
在此页面上调用,则返回的哈希中有大约 650 个不同的属性。假设我的文档的 innerHTML 中有 1000 个节点。当我遍历 innerHTML 并在每个CSSStyleDeclaration
哈希中应用样式时,即 650,000 次调用node.style.setProperty(key, value)
. 但是,通过循环迭代,我正在逐个处理每个节点。相反,一次对 DOM 进行 1000 次调用而不是执行此循环会更有效。问题是,如果这在 Chrome 中是可能的,我不知道怎么做。
我怀疑 Chrome 在整个 DOM 上都有一个 GIL(因为没有更好的词),但这可能只是迷信。如果不是这样,我会假设锁在节点级别。但同样,完全的迷信。我在这个没有事实的环境中运作。如果您有任何指示,我将不胜感激。