3 Réponses :
Mélanger les méthodes standard DOM avec jQuery est un peu impair et inutile. Vous pouvez simplement faire quelque chose comme ça à la place: copie simplement le contenu de la liaison à un nouveau Références: p> code> puis remplace le < / code> avec le nouveau code>. p>
après code> li>
html code> li>
supprimer code> li>
ul> p>
Vous pouvez utiliser RemplacerWith code> de JQuery API
$('#myButton').click(function(){
$("#someDiv a").replaceWith(function(){
return $("<span>" + $(this).html() + "</span>");
});
});
Je dois cependant conserver les attributs de la balise afin que je puisse annuler cette opération plus tard. Ils n'ont pas besoin d'être réels HTML dans le DOM, mais je ne peux pas perdre les données entièrement. Donc, j'ai fini par les stocker avec la méthode code> de jQuery et est venu avec ceci. jsfiddle.net/5hgbx/1
de la réponse de naveen, vous perdrez la balise si vous voulez aussi que href balise, modifiez cela comme suit ... p> $('#myButton').click(function(){
$("#someDiv a").replaceWith(function(){
return $("<span href=\""+$(this).attr('href')+"\">" + $(this).html() + "</span>");
});
});
PAL Ceci génère un balisage invalide. SPAN n'a pas de tag HREF
data-href code> serait un meilleur choix pour le nom d'attribut, qui serait même valide HTML5.