我有一个脚本“myscript.js”,我正在这样嵌入:
<script type="text/javascript" src="myscript.js" data-param="{'param1':true,'param2':false}"></script>
如何在myscript.js中获取data-param
的值?我更愿意在没有jQuery的情况下这样做。
PS。我曾经看到过这样的事情:<script src="myscript.js,param3">
- 如果我这样做,我将如何得到param3
?
答案 0 :(得分:1)
类似的东西:
var param = document.getElementsByTagName("script")[0].getAttribute("data-param");
这假设您只有一个脚本(因此[0]
) - 如果您有更多,那么,您必须循环并获得正确的值。
答案 1 :(得分:0)
获取页面中的最后一个脚本元素,并使用getAttribute
获取参数。最后一个脚本元素始终是当前脚本元素,因此您无需使用ID。
// Get all script tags
var scriptElements = document.getElementsByTagName("script");
// Get the number of scripts
var numberOfScripts = scriptElements.length;
// The current script is the last script in the list
var currentScript = scriptElements[numberOfScripts - 1];
// Now you can retrieve the attribute
var param = JSON.parse(currentScript.getAttribute("data-param"));
这是相同的,只是更短,更不易阅读:
var scriptElements = document.getElementsByTagName("script");
var param = JSON.parse(scriptElements[scriptElements.length - 1].getAttribute("data-param"));