Vorrei recuperare un determinato elemento tag con i suoi attributi dal DOM. Ad esempio, dalottenere tag di apertura compresi gli attributi - outerHTML senza innerHTML
<a href="#" class="class">
link text
</a>
voglio ottenere <a href="#" class="class">
, opzionalmente con una chiusura </a>
, sia sotto forma di stringa o qualche altro oggetto. A mio parere, sarebbe simile al recupero dello .outerHTML
senza lo .innerHTML
.
Infine, ho bisogno di questo per racchiudere alcuni altri elementi tramite jQuery. Ho provato
var elem = $('#some-element').get(0);
$('#some-other-element').wrap(elem);
ma .get()
restituisce l'elemento DOM incluso il suo contenuto. Anche
var elem = $('#some-element').get(0);
$('#some-other-element').wrap(elem.tagName).parent().attr(elem.attributes);
fallisce come elem.attributes
restituisce un NamedNodeMap
che non funziona con jQuery di attr()
e non ero in grado di convertirlo. Ammesso che gli esempi di cui sopra non sono molto sensati poiché copiano anche l'ID non più univoco dell'elemento. Ma c'è un modo semplice? Molte grazie.
Basta clonare il nodo con '.clone()', quindi svuotarlo con '.html()' e rimuovere 'id' e cos'altro vuoi. – kirilloid
$ ("a"). Clone(). Empty(). Attr ("outerHTML"); Per risolvere il primo problema – Tuscan
Grazie a @kirilloid, immagino che josh sia stato solo più veloce;) –