Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.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或CSS时,多层/树选择器中是否有合理的值?_Javascript_Jquery_Css - Fatal编程技术网

Javascript 在使用jQuery或CSS时,多层/树选择器中是否有合理的值?

Javascript 在使用jQuery或CSS时,多层/树选择器中是否有合理的值?,javascript,jquery,css,Javascript,Jquery,Css,除了保持某种结构化标记外,当涉及CSS或jQuery时,是否有合理的理由使用多级/树选择器 我所说的多级/树选择器是什么意思: $('#祖父>#父亲>.child')。doSomething() #祖父母#父母.子女 我经常看到人们使用这种类型的选择,即使DOM中没有其他元素具有.child类,因此为什么我想知道在端点选择器(.child)只存在一次的场景中使用它背后是否有必要/原因 所以这不是主观的,是一个可以有真实答案的问题;当我说“需要”或“原因”时,我指的是性能提升,或者当元素没有以这种

除了保持某种结构化标记外,当涉及CSS或jQuery时,是否有合理的理由使用多级/树选择器

我所说的多级/树选择器是什么意思:

$('#祖父>#父亲>.child')。doSomething()

#祖父母#父母.子女

我经常看到人们使用这种类型的选择,即使DOM中没有其他元素具有
.child
类,因此为什么我想知道在端点选择器(
.child
)只存在一次的场景中使用它背后是否有必要/原因

所以这不是主观的,是一个可以有真实答案的问题;当我说“需要”或“原因”时,我指的是性能提升,或者当元素没有以这种方式选择时可能发生的错误

另外,作为一个附带问题,是否有必要在jQuery选择中使用大于sign的
,因为我非常确定我已经看到了有和没有它的CSS

如对多级选择器的使用有任何回答/解释,将不胜感激;)


大家好

当选择器涉及可嵌套元素时,它有时很有用:

$('dl.main-list > dt').css('font-weight', 'bold');
这样,任何嵌套的
列表都不会弄乱


但是,在我看来,一般来说,在我的示例之外对文档结构进行假设是非常脆弱的。

您不需要>符号,因为我已经创建了没有它的选择器,如#MyID.Myclass,没有任何问题。至于性能,如果您不必遍历DOM中的所有内容来获取控件,那么这是最佳的,但是如果您所追求的只是一个类,那么没有理由将其过滤掉。另外,关于创建脆弱代码的另一张海报也是正确的。本地客户端的处理能力非常繁重,因此与可能出现的编程错误和复杂性相比,花费额外的毫秒来获取数据并不是一个问题。

我总是被那些强烈主张“将标记与脚本分离”的人弄糊涂,然后使用复杂选择器根据布局访问元素。从样式的角度来看,使用复杂选择器是有一定意义的,但即使如此,它们越复杂,维护起来也越困难。

是的,我可以理解在选择HTML元素时,在同一个嵌套中有多个元素,或者多个嵌套,例如
ul>li
。但是,如果用户定义的类是大多数父类的选择点(在我特定的编码风格中),并且对列表和其他默认嵌套元素的依赖性较低,那么我认为最好的方法是选择尽可能靠近节点的类,然后根据需要遍历树。