微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Jquery:从字符串中删除所有特定的HTML标记

我有一个包含一串文本和html标签的变量,例如:
var temp = "<div>Some text</div><p>More text<span>here</span></p><p>Even more</p>";

我想删除某种类型的所有标签.比如说所有的p和span标签.

这是我能想到的最好的:

var temp = "<div>Some text</div><p>More text<span>here</span></p><p>Even more</p>";
var $temp = $(temp);
$("p",$temp).replaceWith("foo");
alert($temp.html());  //returns "Some text"

我能找到的最接近的回答是Nick Craver的回答:strip span tags from string with jquery.

解决方法

演示: http://jsfiddle.net/VwTHF/1/
$('span,p').contents().unwrap();

.contents()获取每个此类标记内的元素和文本,.unwrap删除包装每个内容部分的元素.

根据您当前的方法,它看起来像这样:

var temp = "<div>Some text</div><p>More text<span>here</span></p><p>Even more</p>";
var $temp = $(temp);
$temp.find('span,p').contents().unwrap().end().end();

如果要继续定位原始对象,则必须使用.end()清除过滤器.

原文地址:https://www.jb51.cc/jquery/181552.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐