到底生成render樹的過程,是為每個DOM元素查找匹配的selector,還是為每個selector查找匹配的DOM元素呢?
如題,前半部分說的是“對于每個 DOM 元素,必須在所有 Style Rules 中找到符合的 selector 并將對應的規則進行合并?!保?后半部分的例子說的是解析selector然后找到匹配的DOM元素
4.如果正向解析,例如「div div p em」,我們首先就要檢查當前元素到 html 的整條路徑,找到最上層的 div,再往下找,如果遇到不匹配就必須回到最上層那個 div,往下再去匹配選擇器中的第一個 div,回溯若干次才能確定匹配與否,效率很低。
不太明白
2020-03-30
出教程的人把瀏覽器的生成cssom和jquery的根據選擇器獲取對應元素的兩個概念搞混了,白費我一上午
2018-08-01
應該是
為每個selector查找匹配的DOM元素
,例如「div div p em」,我們首先就要檢查當前元素到 html 的整條路徑,找到最上層的 div,再往下找,如果遇到不匹配就必須回到最上層那個 div,往下再去匹配選擇器中的第一個 div,這里的div是指selector中的div
2016-10-24
文字說了
選擇器的「解析」實際是在這里執行的,在遍歷 DOM Tree 時,從 Style Rules 中去尋找對應的 selector。
后面從selector到 dom 只是一種解釋方法。 告訴 這種規則 是從右到左的。
2015-05-17
正常查找的過程是逆向,簡單的理解就是先“關鍵詞搜索”,再在“搜索到的結果”(減少了好多不符合的判斷)中進行查找匹配——回溯。。。。