jQuery: получить HTML, включая селектор? - PullRequest
36 голосов
/ 08 апреля 2011

Скажите, у меня есть этот 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.

Ответы [ 5 ]

51 голосов
/ 08 апреля 2011

В данном конкретном случае:

var outerHTML = $("<div />").append($('#example').clone()).html();

Подробнее см. на этой странице .

И обсуждение здесь: http://api.jquery.com/html/ (это объясняет, что это не в ядре jQuery и почему некоторые логические решения не будут работать)

5 голосов
/ 08 апреля 2011

Вы можете попробовать это:

var html = $('<div>').append($('#example').clone()).html();
2 голосов
/ 08 апреля 2011

Для браузеров, которые поддерживают это, externalHTML может сделать это.Существуют плагины jQuery, такие как this и this , которые обеспечивают поддержку через несколько умных jQuery.

0 голосов
/ 29 января 2013

Что-то не так с простым использованием $ ('# example')?Это захватывает все!

0 голосов
/ 31 июля 2012
var outerHtml = $('#example').detach();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...