我有一些看起来像这样的HTML:
<div>
<span class="red">red text</span> some more text <span class="blue">blue text</span>
</div>
我想要做的是使用jQuery删除div中的所有跨度而不管附加的类,但是将文本留在span标记中。所以最终结果将是:
<div>
red text some more text blue text
</div>
我尝试使用unwrap()
方法,但它解开了div。我也尝试删除元素,但删除了元素及其文本。
答案 0 :(得分:82)
您不想打开跨度,您想要打开其内容:
$("span").contents().unwrap();
在线演示:http://jsbin.com/iyigi/edit
对于早期版本的jQuery,您可以执行以下操作:
$("span").replaceWith(function () {
return $(this).text();
});
答案 1 :(得分:1)
如果不采用解包方式,那么简单的$('#my-div').text ($('#my-div').text ())
是否足够?
答案 2 :(得分:-1)
$(mydiv).html($(mydiv).text())
应该这样做。