我们如何通过使用jQuery例如,删除HTML标签,我们有这个网站我们如何通过使用jquery去除html标签?
<div><dd>hello world</dd></div>
我想删除<dd>
标签和产生这种输出
<div>hello world</div>
我们如何通过使用jQuery例如,删除HTML标签,我们有这个网站我们如何通过使用jquery去除html标签?
<div><dd>hello world</dd></div>
我想删除<dd>
标签和产生这种输出
<div>hello world</div>
您可以使用.replaceWith()
,例如:
$("dd").replaceWith(function() { return $(this).contents(); });
我检查了它,但它也删除了dd标签中的内容,它是“Hello Wolrd” – user438860 2010-10-14 14:02:38
@ user438860 - 除非您在浏览器中不支持HTML5标签(IE浏览器)也许?)在这种情况下,你需要像html5shiv:http://code.google.com/p/html5shiv/ – 2010-10-14 14:03:42
$(“div”)。html(function(i,h){return $(h).text ();}); 这真的很有用,谢谢 – user438860 2010-10-14 14:14:42
要删除所有子节点,仅保留文本,也可以尝试:
$("div").html(function(i, h){ return $(h).text(); });
这是我使用的。不过请注意,只有当您给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);
看到我的编辑,我改变它,所以你不需要使用一个类(因为你没有访问它,因为你似乎无法删除dd? – Jubair 2010-10-14 15:32:54
你总是可以让一个if语句来检查,看看是否div包含它内部的一个DD元素,那么如果是这样的情况下,从DD复制的内容,去掉DD元素,再注入内容进入div。
我不知道JavaScript那么多,但假设你使用正确的对象和一些简单的算法,任何事情都可以完成!
你想删除刚刚打开的标签吗?或者打开和关闭标签? – Liggi 2010-10-14 13:54:04