Can I forward a variable from script tag to a current script? Something like this:
<script type="text/template" id="myscript" myvar="123123">
var filename = document.getElementById("myscript").myvar;
</script>
Can I forward a variable from script tag to a current script? Something like this:
<script type="text/template" id="myscript" myvar="123123">
var filename = document.getElementById("myscript").myvar;
</script>
You can use document.currentScript
to reference the currently running <script>
tag:
<script type="text/javascript" id="myscript" myvar="123123">
console.log(
document.currentScript.getAttribute('myvar')
);
</script>
Another option is to select the script tag like you would select any element, with querySelector
, and then get the attribute:
<script type="text/javascript" id="myscript" myvar="123123">
console.log(
document.querySelector('#myscript').getAttribute('myvar')
);
</script>
But when using custom attributes, it would probably be more appropriate to use a data- attribute:
<script type="text/javascript" id="myscript" data-myvar="123123">
console.log(
document.currentScript.dataset.myvar
);
</script>