Предотвращение удаления комментариев HTML при использовании jquery .html()
Возможный дубликат:
Выбор комментариев HTML с помощью jQuery
Функции Ajax, такие как.load(), удаляют комментарии из HTML. Как я могу сохранить комментарии?
Мы делаем AJAX-вызов, результат которого приходит через
$('#page_section').html(result);
Проблема в том, что результат отбирается из всех комментариев HTML, которые у нас есть. Нам нужны комментарии HTML, поскольку они содержат объекты JSON, которые нам понадобятся позже нашей CMS. Любой идеальный способ предотвратить удаление комментариев HTML с помощью .html()
,
Спасибо!
4 ответа
html()
метод не удаляет комментарии: http://jsfiddle.net/WEQW9/
Это метод ajax, функции извлечения Ajax, такие как.load(), удаляют комментарии из HTML. Как я могу сохранить комментарии?
Если вы используете идентификатор (у вас вопрос), вы можете просто использовать vanilla javascript:
document.getElementById("page_section").innerHTML = result;
Как указано (неявно) этим ответом .innerHTML()
создает узлы комментариев.
Я должен сказать, что я согласен с Майклом С. Шуллером, используйте data
атрибут для этого, он сделан для этого типа вопросов.
Не могли бы вы использовать.append() или.prepend()?
Пример:
$('#page_section').append(result);
$('#page_section').prepend(result);
Это добавит или добавит результат к соответствующему элементу.
http://api.jquery.com/append/ http://api.jquery.com/prepend/
Одним из способов является использование простого Javascript:
$(selector)[0].innerHTML = 'String with comments JSON and BlackJack';
Второй и самый лучший - вы можете использовать атрибуты элемента для передачи JSON (даже атрибут класса).