【发布时间】:2011-08-01 16:54:10
【问题描述】:
所以我一直在研究a CSS selector engine,我想支持伪元素(::before、::after、::selection、::first-line 等)。我注意到 Slick、Sizzle 和其他一些流行的引擎似乎都支持它们,但是在查看它们的代码时,我没有发现它的代码(现在承认,我看起来并不那么努力)。有谁知道他们是怎么做到的,或者我可以通过什么方式做到这一点?
【问题讨论】:
-
在 Sizzle 源中查找“filters”、“setFilters”等,您会看到它们是如何设置的。
-
@Pointy:这似乎是针对伪类,而不是伪元素。
-
好的,那么是什么让您认为 Sizzle 支持这些? (你甚至会通过 Sizzle 对它们做什么,因为这完全是为了寻找东西而不是直接影响 DOM??)
-
@Pointy:SlickSpeed。当使用一些伪元素选择器运行时,似乎发现它们很好。当然,您对 Sizzle 所做的一切就是找到它们,但关键是一旦找到它们,您就可以对其进行操作。
标签: javascript css css-selectors pseudo-element sizzle