所以我一直在研究 a CSS selector engine ,并且我想支持伪元素(::before、::after、::selection、::first-line 等)。我注意到 Slick、Sizzle 和其他一些流行的引擎似乎支持它们,但是在查看它们的代码时我没有找到它的代码(现在承认,我看起来并不那么难)。有谁知道他们是怎么做到的或者我可以通过某种方式做到这一点?
最佳答案
这里有一个使用 jQuery 在 Webkit 中找到它们的简单方法,可以很容易地转换为标准 JS:
$('*').filter(function(){return getComputedStyle(this, ':before').length != 0});
对于基于 Gecko 的浏览器,您需要一些不同的东西(尚未在 IE 中测试)。希望这有帮助
关于Javascript 查找伪元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5598675/