Как добавить JavaScript после тега?

Здравствуйте!
Вставить текст слогана в html документ можно следующим образом:
<h6>Заголовок H6</h6>
<script>
$("h6").after("<p>Слоган</p>");
</script>

А как быть если надо добавить JavaScript код чтоб он выполнялся?
Я попытался добавить предыдущим способом но ничего не работает. Пытался закрыть двойные кавычки обратным слешем но безуспешно.
пример кода (который хотел добавить):
<script type="text/javascript">
test_1 = 1
test_2= 5
</script>
<script type="text/javascript" src="http://site.com/fire.js"></script>
  • Вопрос задан
  • 64 просмотра
Решения вопроса 1
bingo347
@bingo347
Бородатый программер
Я так понимаю, у Вас js-код в виде строки в другом js-коде получается, тут есть несколько вариантов:

вариант 1, самый простой, создать из строки функцию и выполнить ее:
const CODE = 'console.log("good");'; // ваш код

(new Function(CODE))(); // создаем из него функцию и сразу вызываем

вариант 2, подходит только для этапа загрузки страницы, работает только до события DOMContentLoaded у document, просто пишем в поток html кода тег script с нужным кодом. Подойдет так же для выполнения кода в iframe
const CODE = 'console.log("good");'; // ваш код

document.write('<script>' + CODE + '</' + 'script>');


вариант 3, тоже с генерацией тега script, но уже работает в любое время, подставляем код как url в src тега script
const CODE = 'console.log("good");'; // ваш код

const scriptTag = document.createElement('script');
scriptTag.type = 'application/javascript';
scriptTag.src = URL.createObjectURL(new Blob([CODE]));
document.head.appendChild(scriptTag);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
shmatuan
@shmatuan
Перед </body>
добавить
<script src="myscripts.js"></script>
?
А судя по вопросу - ещё проверить подклюяение jquery (выше твоего скрипта)
<script  src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
Digital Sharks Казань
от 60 000 до 65 000 руб.
CS Money Санкт-Петербург
от 120 000 до 150 000 руб.
Ingram Micro Cloud Москва
от 170 000 руб.