我有一个字符串:
var s = '<h1>heading</h1><p>para</p>';
我想删除h1
从中提取元素。
我试过了:
$(s).remove('h1');
但 s 仍然包含h1
元素
我也尝试过:
s = $(s).remove('h1');
and
$('h1', s).remove();
and
$('h1', $(s)).remove();
等等等等等等
有任何想法吗?
Update: 我看到你刚刚改变了问题。现在解决方案是这样的:
var s = '<h1>heading</h1><p>para</p>';
var $s = $(s).not('h1');
$('body').append($s);
试试看: http://jsfiddle.net/q9crX/19/ http://jsfiddle.net/q9crX/19/
因为 jQuery 对象中现在有多个“顶级”元素,所以您可以使用.not()
(这基本上与.filter()
)删除h1
.
这和做一样$(s).filter(':not(h1)');
- http://api.jquery.com/not/ http://api.jquery.com/not/
- http://api.jquery.com/filter/ http://api.jquery.com/filter/
原答案
$(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);
试试看: http://jsfiddle.net/q9crX/ http://jsfiddle.net/q9crX/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)