Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   document.getElementById().innerHTM и javascript (https://javascript.ru/forum/dom-window/66304-document-getelementbyid-innerhtm-i-javascript.html)

dima85 07.12.2016 15:43

document.getElementById().innerHTM и javascript
 
В block я добавляю такую кострукцию:
document.getElementById("block").innerHTML+='text text <script>alert("alert")</script>';


Все это добавляется но почему не срабатывает alert, как заставить его срабатывать. Может как-то через функцию это возможно сделать?

У меня была идея добавлять функцию.
document.getElementById("block").innerHTML+='text text <script>function block232223(){alert("alert");}</script>';
block+idblock+();

Но я не понимаю как ее запускать. У меня вылетает ошибка на block+idblock+();
В idblock у меня хранится id функции. Он необходим т.к. таких блоков много.

ksa 07.12.2016 15:52

Цитата:

Сообщение от dima85
но почему не срабатывает alert

Не совсем понятно почему он там должен срабатывать? :blink:
Цитата:

Сообщение от dima85
У меня была идея добавлять функцию.
document.getElementById("block").innerHTML+='text text <script type="text/javascript">function block232223(){  alert('ss'); }</script>';
block+idblock+();

Тут вообще какая-то каша... :(

dima85, ты чего собрался добиться меняя свойство innerHTML у некоего элемента?

dima85 07.12.2016 15:58

Есть <div id="block"></div>
Туда я добавляю через ajax много текста таким образом, это упрощенный вариант, что бы было понятно:
document.getElementById("block").innerHTML+='text text <script type="text/javascript">alert("hi");</script>';

В нем так же есть js код, необходимо его запускать после добавления. Как это сделать?

ksa 07.12.2016 16:12

Цитата:

Сообщение от dima85
В нем так же есть js код, необходимо его запускать после добавления. Как это сделать?

Меняя свойство innerHTML у некоего элемента такого не сделать. :no:

dima85 07.12.2016 17:22

Может есть какие-то другие варианты вставления текста с js, на чистом javascript.

рони 07.12.2016 17:27

dima85,
зачем скриптом добавлять скрипт, не проще: сразу запустить нужное?

ksa 08.12.2016 08:13

Цитата:

Сообщение от dima85
Может есть какие-то другие варианты вставления текста с js, на чистом javascript.

Чистый JS это не только innerHTML... :D

Alexandroppolus 08.12.2016 15:54

https://jsfiddle.net/xbdv0fo3/

(на .replace(/< /g, '<') после тестовой строки просьба не обращать внимания, это особенности jsfiddle)


Часовой пояс GMT +3, время: 07:38.