Я хотел бы получить определенный элемент тега со своими атрибутами из DOM. Например, изполучить открывающий тег, включая атрибуты - внешнийHTML без innerHTML
<a href="#" class="class">
link text
</a>
Я хочу получить <a href="#" class="class">
, возможно, с закрывающим </a>
, либо в виде строки или какого-либо другого объекта. По-моему, это было бы похоже на извлечение .outerHTML
без .innerHTML
.
Наконец, мне нужно это, чтобы обернуть некоторые другие элементы через jQuery. Я попытался
var elem = $('#some-element').get(0);
$('#some-other-element').wrap(elem);
но .get()
возвращает элемент DOM, включая его содержание. Также
var elem = $('#some-element').get(0);
$('#some-other-element').wrap(elem.tagName).parent().attr(elem.attributes);
терпит неудачу как elem.attributes
возвращает NamedNodeMap
, который не работает с JQuery-х attr()
, и я не был в состоянии преобразовать его. Приняли, что приведенные выше примеры не очень понятны, поскольку они копируют также уникальный идентификатор элемента. Но есть ли простой способ? Большое спасибо.
Просто клонировать узел с '.clone()', а затем удалить его с помощью .html() 'и удалить' id' и что еще вы хотите. – kirilloid
$ ("a"). Clone(). Empty(). Attr ("externalHTML"); Чтобы решить первую проблему – Tuscan
Спасибо @kirilloid, угадать, что Джош был только быстрее;) –