【发布时间】:2011-05-07 00:20:37
【问题描述】:
给定一个类似的 CSS 选择器
ul > li a
从左到右还是从右到左评估它会更容易/更快吗? (我意识到“简单”和“更快”的答案可能不同。我想要两个答案)。我即将踏上其中一条道路,我不想走到一半然后意识到我选择了错误的道路:)
LTR:遍历文档中的所有元素,挑选出ul 的元素,然后检查它们的所有子元素是否有li,然后查看它们的后代元素是否有a。
RTL:遍历文档中的所有元素,找到所有a,过滤掉没有li祖先的元素,如果确实有li祖先,检查如果其父级是 ul,如果不是,则删除该 a。
此外,除了迭代所有元素之外,真的没有其他方法可以做到这一点吗?
我正在考虑查找元素的上下文,就像 jQuery 所做的那样,而不是应用样式的上下文。
【问题讨论】:
-
它只是一个普通的 ol' CSS2 选择器。没什么 3 关于它。只是说:P
-
@BoltClock:哎呀...好点。我计划支持 CSS3,但我想这与这个特定问题无关。
标签: css css-selectors