javascript - 如何在 JavaScript 中添加动态创建的脚本标签属性?
问题描述
我正在尝试添加data-client-key
动态创建的 JavaScript 属性。检查下面的代码我已经尝试过:
var script = document.createElement("script")
script.type = "text/javascript";
script.src = 'https://app.example.com/snap/script.js';
//script.data-client-key="CLIENT-KEY-HERE"; /* showing error message */
document.getElementsByTagName(script)[0].setAttribute("data-client-key", "CLIENT-KEY-HERE"); /* Uncaught TypeError: Cannot read property 'setAttribute' of undefined */
document.getElementsByTagName("head")[0].appendChild(script);
当我检查元素时,我的输出应该如下所示:
<script src="https://app.example.com/snap/script.js" data-client-key="CLIENT-KEY-HERE"></script>
解决方案
改变
document.getElementsByTagName(script)[0].setAttribute("data-client-key", "CLIENT-KEY-HERE");
至
script.setAttribute("data-client-key", "CLIENT-KEY-HERE");
因为你已经在script
变量中有你的脚本元素
推荐阅读
- reactjs - ES6 import not working correctly in next.js application
- python - What happens behind the scene of floor division in Python?
- python - Changing Password with Update Command
- sql - 获取每秒所有已开始但尚未完成的行的运行计数和值的总和
- c++ - 在 C++ 中自定义控制台输出的不同方法(更喜欢哪一种)
- mql4 - Mql4 指标不会自动更新
- git - gitignore 不会忽略文件
- javascript - goBack 函数反应
- java - ModelMapper 映射错误的 id
- bash - 将所有更改的文件名保存到 bash 中的列表