jQuery效率问题

时间:2010-05-06 17:47:49

标签: jquery

我有这样的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();

还是有更好的解决方案?哪个最好?

3 个答案:

答案 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>