javascript - 如何在网页中多次加载包含 document.write 的 Javascript?
问题描述
我在 head 标签中显示了一个 javascript 代码:
document.write('<script>..</script><style>..</style><a></a><script src".."></script>');
里面的代码document.write()
实际上是一个示例网页的 html 文档,其中包含、scripts
和所有其他可能的元素。styles
metas
现在我需要每次在sample-js-doc
属性标签出现在body
. 例如:<div sample-js-doc ></div>
或<a sample-js-doc ></a>
目前,无论我将 javascrit 放在哪里,内容都会快速加载到那里。那看起来不错。但我还需要在sample-js-doc
存在属性标签的其他地方调用它。
如何在不删除网页中存在的所有其他元素的情况下修改 javascript 代码以实现此目的?
解决方案
利用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>';
}
推荐阅读
- android - 设置 JSON 输入值动态
- python - 如何将 B 列转置为 DataFrame 中的 y 轴列
- objective-c - 如何在 Objective-C 应用程序中观察 NSUserDefaults 的命令行更改?
- reactjs - 使用带有 react-layout-grid 的自定义组件
- asp.net - 在 ASP.NET MVC 的“详细信息”视图中显示所有图像?
- python - 如何验证文本字段是否具有我输入的值?
- python - 为什么我的不和谐机器人创建脚本不起作用?
- unit-testing - IntelliJ 2018 中单元测试的红/绿条在哪里?
- prolog - 我无法让我的 Prolog DCG 与 atom concat 一起工作
- python-imaging-library - Pillow 中的 image.close() 未释放内存