如何使用jQuery仅删除标记?

Was*_*ikh 10 javascript css jquery

我想使用jQuery删除span,我已经尝试了.unwrap();但它不起作用.

<div>
<ul>
<li><a href="#"><span>link</span></a></li>
<li><a href="#"><span>link</span></a></li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)

kky*_*kyy 21

显然,unwrap不起作用,因为spans里面只有文本节点,而jquery也不能很好地处理文本节点......但是这可以工作(如果你确定只包含文本,你也可以使用它jQuery.text代替):jQuery.htmlspan

$('li a span').replaceWith($('li a span').html());
Run Code Online (Sandbox Code Playgroud)

工作实例

编辑:实际上,unwrap如果您使用jQuery.contentsjquery无法直接选择文本节点,它似乎也可以工作:

$('li a span').contents().unwrap();
Run Code Online (Sandbox Code Playgroud)