JQuery,从字符串中删除元素

我有一个字符串:

var s = '

heading

para

';

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

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

但仍然包含我尝试过的h1元素:

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

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

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

等等

有任何想法吗?

更新 :我看到你刚刚改变了问题。 现在的解决方案是:

 var s = '

heading

para

'; var $s = $(s).not('h1'); $('body').append($s);​

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

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

它与执行$(s).filter(':not(h1)');


原始答案

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

因此,如果您要将结果附加到body ,您可以执行以下操作:

 var s = '

heading

para

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

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