Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery隐藏元素;我应该使用哪种方法?为什么?_Javascript_Jquery_Jquery Selectors - Fatal编程技术网

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吗?
稍微快一点:。第二次跑步则相反。这是镀铬的。