我们如何使用Jquery删除html标签?

我们如何通过使用Jquery删除html标签,例如我们有这个html

hello world

我想删除

标签并生成此输出

 
hello world

您可以使用.replaceWith() ,例如:

 $("dd").replaceWith(function() { return $(this).contents(); }); 

你可以在这里测试一下 。

要删除所有子节点,仅保留文本,还可以尝试:

 $("div").html(function(i, h){ return $(h).text(); }); 

我在这里分叉了@Nick Craver的jsFiddle 。

这是我用的。 虽然介意你这只有你给div一个类(或id)。

 var string = $('div.test').html().replace('
', '').replace('
', '') $('div.test').html(string);

这样做只是简单地将div的内容放入一个变量中(使用.html()不仅可以获取文本而且还可以获取所有html)然后删除dd标记,然后重新填充

编辑:

这是实际做到这一点的更好方法。 使用此代码,您不必依赖于div的类或ID。

  container = $('div').find('dd').parent(); var test = container.html().replace('
', '').replace('
', '') container.html(test);

你总是可以创建一个if语句,检查div是否包含一个dd元素,然后如果是这种情况,从dd复制内容,删除dd元素,然后将内容注入div。

我不太了解javascript,但假设您使用正确的对象和一些简单的算法,任何事情都可以完成!