5

我有以下输入:

<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 似乎很麻烦。你知道任何简短的解决方案吗?

4

3 回答 3

10

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

$(".highlight").contents().unwrap();
于 2013-05-06T10:00:51.687 回答
2

尝试替换为

$('.highlight').replaceWith(function() {
    return $(this).html();
});
于 2013-05-06T10:07:10.097 回答
0

您可以简单地使用 jQuery 来做到这一点。

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

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

文档的快速链接:

于 2013-05-06T10:31:25.953 回答