13

这是我的html。

<span id="current" class="green unselctable" data-original-title="" title="">
    Lorem Ipsum is simply dummy
</span>

我选择 with$("#current")但如果我使用 jQuery unwrap 函数,父标签将被删除。

有没有办法在不解析字符串并将其附加到 dom 的情况下删除 JavaScript 或 jQuery 中的跨度?

编辑 我想保留 div 的内容。我只想删除标签。

4

3 回答 3

38

您可以将contents()链接到unwrap()

$("#current").contents().unwrap();

contents()将返回 的所有子#current节点,包括文本节点,并且unwrap()可以应用于文本节点。

于 2013-04-02T19:42:41.340 回答
4
var $current = $('#current');
$current.replaceWith($current.text());

摆弄当前的两个答案-双关语?

展开与替换

于 2013-04-02T19:42:51.290 回答
-1

刚刚问了同样的问题。我认为这可能会稍微好一点......效果相同,但我认为 jQuery 必须做更少的魔法来完成这项工作。

$("#current").replaceWith($("#current").contents());
于 2013-05-31T19:27:21.260 回答