JQuery: Получить HTML, включая селектор?
Скажем, у меня этот HTML-код:
<ul>
<li id="example"><strong>Awesome</strong> example text</li>
</ul>
Я хочу иметь возможность делать что-то вроде $('#example').html()
, но прямо сейчас это делает только получение <strong>Awesome</strong> example text
.
Итак, как я могу получить HTML, включая выбранный элемент?
т. <li id="example"><strong>Awesome</strong> example text</li>
Я использую jQuery 1.4.4.
Ответы
Ответ 1
В этом конкретном случае:
var outerHTML = $("<div />").append($('#example').clone()).html();
Подробнее см. эту страницу.
И обсуждение здесь: http://api.jquery.com/html/ (это объясняет, что это не в ядре jQuery и почему некоторые логические решения не будут работа)
Ответ 2
Вы можете попробовать следующее:
var html = $('<div>').append($('#example').clone()).html();
Ответ 3
Для браузеров, поддерживающих его, outerHTML может это сделать. Есть плагины jQuery, такие как this и this, которые поддерживают поддержку через некоторый умный jQuery.
Ответ 4
var outerHtml = $('#example').detach();
Ответ 5
Что-то не так, просто используя $('# example')? Это захватывает все это!