Я пытаюсь понять, как получить содержимое HTML, включая родительский селектор. Я знаю, что следующее получит мне содержимое HTML:
$obj.html();
(где $ obj - ссылка на мой объект DOM)
Но что, если я хочу содержимое HTML, включая родительский селектор? Например, допустим, у меня есть этот код:
<div id="sample" class="something">
<div class="inner"></div>
</div>
Если я сделаю:
$('#sample').html();
...Я получу:
<div class="inner"></div>
Но я действительно хочу перенастроить это:
<div id="sample" class="something">
<div class="inner"></div>
</div>
Есть идеи?
Хотя это не стандарт - это работает почти везде.
Использовать Element.outerHTML
var el = $obj[0]; // get the HTML element from the jQuery object
el.outerHTML; // the HTML including the outside bits
(скрипка)
Пока он еще не полностью стандартизирован, Element.outerHTML
работает в большинстве браузеров.
document.querySelector('#sample').outerHTML;
Полиполки доступны, требуется более ранняя поддержка браузера: