我有一个字符串:
var s = '<h1>heading</h1><p>para</p>';@H_502_3@我想从中删除h1元素.
我试过了:$(s).remove('h1');@H_502_3@但是仍然包含h1元素
我也试过:s = $(s).remove('h1');@H_502_3@和
$('h1',s).remove();@H_502_3@和
$('h1',$(s)).remove();@H_502_3@等等
有任何想法吗?
解决方法
更新:我看到你只是改变了问题.现在的解决方案是这样的:
var s = '<h1>heading</h1><p>para</p>'; var $s = $(s).not('h1'); $('body').append($s);@H_502_3@试试看: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();@H_502_3@所以如果你把结果追加到身体,你可以做:
var s = '<div><h1>heading</h1><p>para</p></div>'; var $s = $(s).find('h1').remove().end(); $('body').append($s);@H_502_3@