天天看點

jQuery技術内幕:深入解析jQuery架構設計與實作原理. 3.2 選擇器表達式

<b>3.2 選擇器表達式</b>

為了準确描述sizzle的實作,避免歧義,需要先約定一些相關術語,具體如表3-1所示。

表3-1 術語和約定

序号         術  語         說明和示例

1       選擇器表達式         css選擇器表達式,例如,"div&gt;p"

2       并列選擇器表達式         逗号分割的多個選擇器表達式,例如,"div,

p"

3       塊表達式         例如,"div&gt;p"中的"div"、"p"

4       塊表達式類型         例如,"div"的類型是tag,".red"的類型是class,"div.red"則是tag + class。共有8種塊表達式類型:id、class、name、attr、tag、child、pos、pseudo

5       塊間關系符     表示塊表達式之間關系的符号,例如,"div&gt;p"中的"&gt;"。共有4種塊間關系符:"&gt;"父子關系、""祖先後代關系、"+"緊挨着的兄弟元素、"~"之後的所有兄弟元素

選擇器表達式由塊表達式和塊間關系符組成,如圖3-2所示。其中,塊表達式分為3種:簡單表達式、屬性表達式、僞類表達式;塊間關系符分為4種:"&gt;"父子關系、""祖先後代關系、"+"緊挨着的兄弟元素、"~"之後的所有兄弟元素;塊表達式和塊間關系符組成了層級表達式。

繼續閱讀