Javascript 使用jQuery隐藏元素;我应该使用哪种方法?为什么?
这两种方法有什么区别Javascript 使用jQuery隐藏元素;我应该使用哪种方法?为什么?,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,这两种方法有什么区别 $("div span").hide(); $("div > span").hide(); 对性能有影响吗?第一个选项将隐藏在下的所有中。第二个将仅隐藏作为的直接子级的 在性能方面,它可能取决于确切的HTML,但我发现div>span选择器在这方面大约快了30%。这可能是因为它只需要查看每个div的子对象,而不是整个DOM 但是,在大多数情况下,速度差异可能还不够重要。这是jQuery还是您使用的框架?这看起来真的很像jQuery;)只是一个想法,我应该使用子-父
$("div span").hide();
$("div > span").hide();
对性能有影响吗?第一个选项将隐藏在
下的所有
中。第二个将仅隐藏作为
的直接子级的
在性能方面,它可能取决于确切的HTML,但我发现
div>span
选择器在这方面大约快了30%。这可能是因为它只需要查看每个div的子对象,而不是整个DOM
但是,在大多数情况下,速度差异可能还不够重要。这是jQuery还是您使用的框架?这看起来真的很像jQuery;)只是一个想法,我应该使用子-父选择还是典型的其他选择,可能是css或jquery。没关系。@Rikudo jquery标记是在这个事实之后添加的……这个问题的价值有所降低,因为您无论如何都不会以这种方式使用两个类型选择器(
div
和span
)。通常,您有这样的ID/类选择器:$('#foo>.bar')
,或$('.bar',foo)
。然后我们可以讨论性能…两者都同样快。但是第二个在这个SPAN上不起作用,而第一个会起作用。我不能肯定地说。如果让我猜的话,我会认为子选择器会更快,因为搜索范围更窄(只有直接子对象)。如果您只需要直系子女,我会使用第二个,以避免意外选择树下较远的
s。@RikudoSennin距离它很远。它们的速度不一样。有人对这两个都有jsperf吗?
稍微快一点:。第二次跑步则相反。这是镀铬的。