首页 > 解决方案 > 如何在网页中多次加载包含 document.write 的 Javascript?

问题描述

我在 head 标签中显示了一个 javascript 代码:

document.write('<script>..</script><style>..</style><a></a><script src".."></script>');

里面的代码document.write()实际上是一个示例网页的 html 文档,其中包含、scripts和所有其他可能的元素。stylesmetas

现在我需要每次在sample-js-doc属性标签出现在body. 例如:<div sample-js-doc ></div><a sample-js-doc ></a>

目前,无论我将 javascrit 放在哪里,内容都会快速加载到那里。那看起来不错。但我还需要在sample-js-doc存在属性标签的其他地方调用它。

如何在不删除网页中存在的所有其他元素的情况下修改 javascript 代码以实现此目的?

标签: javascripthtmldocument.write

解决方案


利用querySelectorAll

var els = document.querySelectorAll('[sample-js-doc]');

for (i = 0; i < els.length; i++) {
    els[i].innerHTML = '<script>..</script><style>..</style><a></a><script src".."></script>';
}

推荐阅读