我有一个字符串:
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);
原文地址:https://www.jb51.cc/jquery/180189.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。