Создать div с тегом script внутри с помощью jquery - PullRequest
3 голосов
/ 29 марта 2012

У меня есть контент, который я загружаю динамически с помощью jquery.Содержимое HTML с тегом script.

Итак, у меня есть что-то вроде этого.

var content = '<script language="javascript" type="text/javascript">alert("test");</script><div>mydiv</div>';

Я хочу создать новый div с этим содержимым с помощью jquery

var dialog = $('<div class="modal-popup">' + content + '</div>');

Но в новом созданном div (диалоге) нет тега script.

В прошлом это работало.Мы обновили jquery с 1.5.1 до 1.7.1.Я уже отказался от jquery, с тем же результатом.

Мы используем ist для создания диалога печати, и мы признали, что больше не можем печатать.Я просматриваю хранилище, но не могу найти внесенное нами изменение.

В чем причина, что скрипт-тег пропал?

РЕДАКТИРОВАТЬ: Это зависит отвыпуск JQuery.В v1.5.1 это работает, в v1.7.2 нет.

Причина, по которой он не работает в моем предыдущем тесте с v1.5.1, заключалась в том, что браузер по некоторым причинам кэшировал jquery

РЕДАКТИРОВАТЬ 2: в этом примере содержимое является строковой переменной, чтобы упростить его.В реальной среде контент заполняется $ .get и представляет собой HTML-документ с javascript в нем.

1 Ответ

0 голосов
/ 29 марта 2012

Последовательность </ закрывающего тега </script> завершит синтаксический анализ элемента script в HTML.

Никогда не должно быть символов </ где-либо внутри разметки скрипта, даже если она является частью строки.Браузеры, использующие HTML4, должны остановить блок скрипта, если это видно -Phrogz

Выход из косой черты <\/ должен решить проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...