我尝试过各种版本的“unwrap”,但我一直在打开包装不是一个功能。我如何在这里抛弃b标签?
<div id="top_left">
<font size="3">
<b>test</b>
</font>
</div>
我试过
jQuery("#top_left b").unwrap();
答案 0 :(得分:1)
问题是“test”不是元素而是文本节点。
假设您的真实HTML可能更复杂,那可能有许多b
元素,而某些文字不在b
元素中,您应该做这样的事情
$('#top_left b').replaceWith(function(){
return $('<span>', {text:$(this).text()});
});
Demonstration(点击“使用JS运行”)
但通常情况下,您可以通过span
开始处理这种情况,该类有一个类font-weight:bold
并且只是更改其类。 b
,i
,font
和类似元素今天很少有用,它们会使所有样式更改更重。
答案 1 :(得分:1)
在没有.unwrap()
的情况下执行此操作的一种非常简单的方法是:
$('#top_left font').html($('#top_left font').text());
<强> jsFiddle example 强>
正如一些评论者指出的那样,<font>
在很久以前就被弃用了。
答案 2 :(得分:0)
var b = document.getElement... // Get your b tag
b.outerHTML = b.innerHTML;
这可能无需使用jQuery即可工作。如果我错了,请纠正我。
答案 3 :(得分:0)