我有这样的HTML:
<div id="best">
<img src="image.jpg">
<span>title</span>
<img src="image.jpg">
<span>title</span>
<img src="image.jpg">
<span>title</span>
</div>
我希望jQuery代码删除所有跨度。哪个最好:
$('#best').find('span').remove();
或
$('#best').children('span').remove();
或
$('#best').find('span').each().remove();
还是有更好的解决方案?哪个最好?
答案 0 :(得分:4)
$('#best span').remove();
答案 1 :(得分:0)
寻求可读性:
$('#best > span').remove()
答案 2 :(得分:0)
1 和 3 相同。 2 的不同之处在于它只删除#best
的直接后代,而其他两个将删除任何级别的后代。无论您使用find
还是children
,都取决于您的意图,这取决于您,但不需要each
。
但是,您可以将整个内容合并到选择器中,因此 1 将变为$('#best span').remove();
而 2 将变为$('#best > span').remove();
。< / p>