脚本标签中的JS访问变量

时间:2018-10-21 08:15:33

标签: javascript

我可以将变量从脚本标签转发到当前脚本吗?像这样:

<script type="text/template" id="myscript" myvar="123123">

    var filename = document.getElementById("myscript").myvar;

</script>

1 个答案:

答案 0 :(得分:2)

您可以使用document.currentScript来引用当前运行的<script>标签:

<script type="text/javascript" id="myscript" myvar="123123">
console.log(
  document.currentScript.getAttribute('myvar')
);
</script>

另一种选择是选择脚本标签,就像使用querySelector选择任何元素一样,然后获取属性:

<script type="text/javascript" id="myscript" myvar="123123">
console.log(
  document.querySelector('#myscript').getAttribute('myvar')
);
</script>

但是使用自定义属性时,使用 data-属性可能更合适:

<script type="text/javascript" id="myscript" data-myvar="123123">
console.log(
  document.currentScript.dataset.myvar
);
</script>