Альтернатива innerHTML

259
08 июня 2017, 07:14

Есть альтернатива innerHTML? Есть код приходящий с сервера: PHP:

$html = '
        Тут див с фотографией
        <script src="../assets/js/app.js"></script>
        <script src="../assets/js/plugins/magnific-popup/magnific-popup.min.js"></script>
        <script>
            jQuery(function () {
            App.initHelpers(\'magnific-popup\');
            });
        </script>
';

Мы его получаем и нужно его вывести на экран

document.getElementById('content').innerHTML = data.html;

Но тут проблема Если в innerHTML есть тег script – он не будет выполнен. Если его вывести через append, то все работает, но текст добавляется к уже имеющемуся тексту, а нужна замена, как это делает innerHTML

Answer 1

Раз уж у тебя есть jQuery, то его и используй. Оно выполняет скрипты при вставке через $smth.html(someHtml).

Answer 2

Как насчет создания нового дочернего объекта?

function createLabel(val) {
   var a = document.createElement("a");
      a.innerHTML = val;
         document.getElementById(id_of_element).appendChild(a);
}

Здесь также через appendChild, но другого выхода нет (кроме document.write, но он стирает все остальное. Можно заранее ставить пробелы (" текст с пробелом спереди") или юзать /n

Answer 3
document.getElementById('content').innerHTML = "";
// потом append
READ ALSO
Треугольник без заливки

Треугольник без заливки

Подскажите, как создать треугольник с помощью css без бэкграунда?

351
почему не срабатывает margin?

почему не срабатывает margin?

Только начинаю изучать работу с сайтами, столкнулся с проблемой отцентровки самого сайта по центру смотрю разные видео , на видео всё работает...

338
z-index: высота слоя = высоте экрана

z-index: высота слоя = высоте экрана

Есть сайт на WordPress, где используется плагин галереи Envira GalleryНа рис

276