除了保留某种结构化标记之外,在涉及 CSS 或 jQuery 时,是否有合理的理由使用多级/树选择器。
我所说的多级/树选择器是什么意思:
$('#grand-parent > #parent > .child').doSomething();
#grand-parent #parent .child
我经常看到人们使用这种类型的选择,即使 DOM 中没有其他元素具有 .child
类,因此我想知道是否需要它/在结束选择器 (.child
) 只存在一次的情况下使用它的原因是什么?
所以这不是主观的,而是一个可以有真正答案的问题;当我说需要或原因时,我指的是性能提升,或者当未以这种方式选择元素时可能发生的错误。
此外,作为附带问题,在 jQuery 选择中是否需要 >
大于符号,因为我很确定我已经看到有和没有它的 CSS。
任何关于使用多级选择器的答案/解释将不胜感激;)。
大家好!
最佳答案
您不需要 > 符号,因为我已经制作了没有它的选择器,例如 #MyID.Myclass 没有任何问题。至于性能,如果您不必遍历 DOM 中的所有内容来获得您的控件,这是最佳的,但是如果您追求的只是一个类,则没有理由将其过滤掉。另一位海报关于创建脆弱代码也是正确的。本地客户端的处理能力承担了繁重的工作,因此与可能出现的编程错误和复杂性相比,多花一毫秒来获取数据并不是问题。
关于javascript - 使用 jQuery 或 CSS 时,多级/树选择器是否有合理的值(value)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9321522/