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

JQuery,从字符串中删除元素

我有一个字符串:
var s = '<h1>heading</h1><p>para</p>';

我想从中删除h1元素.
我试过了:

$(s).remove('h1');

但是仍然包含h1元素
我也试过:

s = $(s).remove('h1');

$('h1',s).remove();

$('h1',$(s)).remove();

等等

有任何想法吗?

解决方法

更新:我看到你只是改变了问题.现在的解决方案是这样的:
var s = '<h1>heading</h1><p>para</p>';

var $s = $(s).not('h1');

$('body').append($s);​

试试看:http://jsfiddle.net/q9crX/19/

因为您现在在jQuery对象中有多个“顶级”元素,您可以使用.not()(这与.filter()基本相反)来删除h1.

这样做就是做$(s).filter(‘:not(h1)’);

> http://api.jquery.com/not/
> http://api.jquery.com/filter/

原来的答案

$(s).find('h1').remove();

所以如果你把结果追加到身体,你可以做:

var s = '<div><h1>heading</h1><p>para</p></div>';

var $s = $(s).find('h1').remove().end();

$('body').append($s);​

尝试一下:http://jsfiddle.net/q9crX/

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

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

相关推荐