图灵_0002
2014-11-15 12:20
如题,前半部分说的是“对于每个 DOM 元素,必须在所有 Style Rules 中找到符合的 selector 并将对应的规则进行合并。”, 后半部分的例子说的是解析selector然后找到匹配的DOM元素
4.如果正向解析,例如「div div p em」,我们首先就要检查当前元素到 html 的整条路径,找到最上层的 div,再往下找,如果遇到不匹配就必须回到最上层那个 div,往下再去匹配选择器中的第一个 div,回溯若干次才能确定匹配与否,效率很低。
不太明白
出教程的人把浏览器的生成cssom和jquery的根据选择器获取对应元素的两个概念搞混了,白费我一上午
应该是
,例如「div div p em」,我们首先就要检查当前元素到 html 的整条路径,找到最上层的 div,再往下找,如果遇到不匹配就必须回到最上层那个 div,往下再去匹配选择器中的第一个 div,这里的div是指selector中的div
文字说了
选择器的「解析」实际是在这里执行的,在遍历 DOM Tree 时,从 Style Rules 中去寻找对应的 selector。
后面从selector到 dom 只是一种解释方法。 告诉 这种规则 是从右到左的。
正常查找的过程是逆向,简单的理解就是先“关键词搜索”,再在“搜索到的结果”(减少了好多不符合的判断)中进行查找匹配——回溯。。。。
jQuery源码解析(架构与依赖模块)
84047 学习 · 280 问题
相似问题