Переменная доступа JS из тега script [duplicate]

1

Можно ли переслать переменную из тега сценария в текущий скрипт? Что-то вроде этого:

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

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

</script>
  • 0
    В опубликованном вами коде похоже, что вы ссылаетесь на один и тот же тег сценария? Не уверен, что вы пытаетесь сделать, но вы можете получить доступ к атрибуту с помощью getAttribute (но лучше использовать атрибуты данных для пользовательских атрибутов)
  • 0
    Я хотел бы получить доступ к этой переменной в том же сценарии, да. Как я могу сослаться на текущий скрипт, в котором я нахожусь? (на самом деле не FE разработчик)
Показать ещё 2 комментария
Теги:

1 ответ

2
Лучший ответ

Вы можете использовать document.currentScript для ссылки на <script> тэг <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>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню