如何使用jQuery解包所有父项?

如何解开所有只留下

-编辑-

对不起,我应该提供更多信息。 基本上,我试图瞄准所有ap标记包围的span的唯一孩子。 我希望以下方法可以解决问题,但它只打开了p标签。 我想知道是否有办法删除span标签。

$('p > span:only-child > a:only-child').unwrap();

这样做:

 $(document).ready(function() { var https://stackoverflow.com/questions/6085879/how-do-i-unwrap-all-parents-using-jquery/link = $("a").detach(); $("p").remove(); https://stackoverflow.com/questions/6085879/how-do-i-unwrap-all-parents-using-jquery/link.appendTo("body"); }); 

从DOM中分离链接并将其放在https://stackoverflow.com/questions/6085879/how-do-i-unwrap-all-parents-using-jquery/link var中。 完全从DOM中删除p 。 将a重新附加到body标签。

要将链接精确地放回原位,请将其附加到p的父级,而不一定是body元素。 所以,假设你有这个:

 

您将使用此行代替:

 https://stackoverflow.com/questions/6085879/how-do-i-unwrap-all-parents-using-jquery/link.appendTo("#foo"); 

编辑以响应您的修改:

是的,解包只做一个父级(据我所知)。 所以就这样做两次。 🙂

 $('p > span:only-child > a:only-child').unwrap().unwrap(); 

您尚未提供有关页面上其他元素的足够信息。 以下只是为了让您入门。

 var theLink = $("span").html(); $("p").remove(); $("body").html(theLink);