我有一个字符串:
var s = '<h1>heading</h1><p>para</p>';
我想从中删除h1
元素。我尝试过:
$(s).remove('h1');
但是s仍包含h1
元素。我还尝试过:
s = $(s).remove('h1');
和
$('h1', s).remove();
并且
$('h1', $(s)).remove();
有什么想法吗?
我有一个字符串:
var s = '<h1>heading</h1><p>para</p>';
我想从中删除h1
元素。我尝试过:
$(s).remove('h1');
但是s仍包含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)');
相同。
原始答案
$(s).find('h1').remove();
如果您想将结果附加到 body
,可以这样做:
var s = '<div><h1>heading</h1><p>para</p></div>';
var $s = $(s).find('h1').remove().end();
$('body').append($s);
$(s)
包装它并执行.find('h1').remove()
时,你并没有修改原始字符串。 - user113716<h1>
,但后来想起需要使用.end()
回到<div>
。 - user113716