<b>3.2 選擇器表達式</b>
為了準确描述sizzle的實作,避免歧義,需要先約定一些相關術語,具體如表3-1所示。
表3-1 術語和約定
序号 術 語 說明和示例
1 選擇器表達式 css選擇器表達式,例如,"div>p"
2 并列選擇器表達式 逗号分割的多個選擇器表達式,例如,"div,
p"
3 塊表達式 例如,"div>p"中的"div"、"p"
4 塊表達式類型 例如,"div"的類型是tag,".red"的類型是class,"div.red"則是tag + class。共有8種塊表達式類型:id、class、name、attr、tag、child、pos、pseudo
5 塊間關系符 表示塊表達式之間關系的符号,例如,"div>p"中的">"。共有4種塊間關系符:">"父子關系、""祖先後代關系、"+"緊挨着的兄弟元素、"~"之後的所有兄弟元素
選擇器表達式由塊表達式和塊間關系符組成,如圖3-2所示。其中,塊表達式分為3種:簡單表達式、屬性表達式、僞類表達式;塊間關系符分為4種:">"父子關系、""祖先後代關系、"+"緊挨着的兄弟元素、"~"之後的所有兄弟元素;塊表達式和塊間關系符組成了層級表達式。