如何使用Jquery删除html标签,例如我们有这个html
<div><dd>hello world</dd></div>
我想删除<dd>
代码并生成此输出
<div>hello world</div>
答案 0 :(得分:4)
您可以使用.replaceWith()
,例如:
$("dd").replaceWith(function() { return $(this).contents(); });
答案 1 :(得分:1)
要删除所有子节点,只保留文本,也可以尝试:
$("div").html(function(i, h){ return $(h).text(); });
答案 2 :(得分:0)
这是我使用的。虽然介意你这只有你给div一个类(或id)。
var string = $('div.test').html().replace('<dd>', '').replace('</dd>', '')
$('div.test').html(string);
这样做只是简单地将div的内容放入一个变量中(使用.html()不仅仅是文本而是所有的html)然后去掉dd标签,然后重新填充
编辑:
这是实际做到这一点的更好方法。使用此代码,您不必依赖于div的类或ID。
container = $('div').find('dd').parent();
var test = container.html().replace('<dd>', '').replace('</dd>', '')
container.html(test);
答案 3 :(得分:0)
你总是可以创建一个if语句,检查div是否包含一个dd元素,然后如果是这种情况,从dd复制内容,删除dd元素,然后将内容注入div
我不太了解javascript,但假设您使用正确的对象和一些简单的算法,任何事情都可以完成!