如何在适当的位置删除跨度?

时间:2013-05-06 09:58:03

标签: javascript jquery html

我有以下输入:

<p>
  <span class="highlight">
    Some text <b>that can have formatted components too</b>.
  </span>
  And some more text here of course.
</p>

我想实现以下输出:

<p>
    Some text <b>that can have formatted components too</b>.
    And some more text here of course.
</p>

我正在使用jquery并且它具有.unwrap()功能,但是如果我去了 $('.highlight').unwrap()它会移除<p>。 :(

手动攻击DOM似乎很麻烦。你知道任何简短的解决方案吗?

3 个答案:

答案 0 :(得分:10)

使用.contents(),您将获得要删除的父元素内的元素。

$(".highlight").contents().unwrap();

答案 1 :(得分:2)

尝试替换为

$('.highlight').replaceWith(function() {
    return $(this).html();
});

答案 2 :(得分:0)

你可以通过使用jQuery来实现这一点。

var cnt = $(".highlight").contents();

$(".highlight").replaceWith(cnt);

文档的快速链接: