02-jQuery選擇器

第二節:選擇器

選擇器引擎規則:

1、css選擇器的規則:標籤選擇器、id選擇器、類選擇器、混合選擇器
2、css3選擇器規則
3、狀態和僞類::even/ :odd/ :first/ :last/ :eq(index)
4、屬性:(attr==value)

層級選擇器:通過DOM的嵌套關係匹配關係

JQuery層級選擇器:包含選擇器、子選擇器、相鄰選擇器、兄弟選擇4種
1、包含選擇器:$("a b")在給定的祖先元素下匹配所有後代元素。(不受層級限制)
2、子選擇器:$("parent>child")在給定的父元素下匹配所有子元素
3、相鄰選擇器:$("prev+next")匹配所有緊湊在prev元素後的next元素
4、兄弟元素:$("prev~siblings")匹配prev元素之後的所有sibling元素。

基本過濾器:

:first:匹配找到的第一個元素
:last:匹配找到的最後一個元素
:eq:匹配一個給定索引值的元素
:even:匹配所有索引值爲偶數的元素
:odd:匹配所有索引值爲奇數的元素
:gt(index):匹配所有大於給定給定索引值的元素
:lt(index):匹配所有小於給定索引值的元素
:not:去除所有與給定選擇器匹配的所有元素
:animated:選取正在執行動畫的所有元素
focus:選擇正在獲取焦點的元素

內容過濾選擇器:

:contains(text):選取含有文本內容爲text的元素
:empty:選取不包含子元素獲取文本的空元素
:has(selector):選擇含有選擇器所匹配的元素的元素
:parent:選取含有子元素或者文本的元素

可見過濾選擇器

:hidden選擇所有不可見的元素 集合元素
:visible選取所有可見的元素 集合元素

屬性過濾選擇器

[attribute]選取擁有此屬性的元素 集合元素
[attribute=value] 選取屬性值爲value值的元素 集合元素
[attribue^=value] 選取屬性的值以value開始的元素 集合元素
[attribue$=value] 選取屬性的值以value結束的元素 集合元素

子元素過濾選擇器

:nth-child(index/even/odd)選取每個父元素下的第index個子元素或者奇偶元素(index從1算起) 集合元素
:first-child 選取每個元素的第一個子元素 集合元素
:last-child 選取每個元素的最後一個子元素 集合元素
:nth-child()選擇器是很常用的子元素過濾選擇器,如下
:nth-child(even)選擇每個父元素下的索引值是偶數的元素
:nth-child(odd)選擇每個父元素下的索引值是奇數的元素
:nth-child(2)選擇每個父元素下的索引值是2的元素
:nth-child(3n)選擇每個父元素下的索引值是3的倍數的元素 (n從1開始

選擇器優化

使用合適的選擇器表達式可以提高性能、增強語義並簡化邏輯。常用的選擇器中,ID選擇器速度最快,其次是類型選擇器。
1、多用ID選擇器,少直接使用class選擇器
2、多用父子關係,少用嵌套關係
3、緩存jQuery對象

使用過濾器

jQuery提供了2種選擇文檔元素的方式:選擇器和過濾器
1、類過慮器:根據元素的類屬性來進行過濾操作。
hasClass(className):判斷當前jQuery對象中的某個元素是否包含指定類名,包含返回true,不包含返回false
2、下標過濾器:精確選出指定下標元素
eq(index):獲取第N個元素。index是整數值,下標從0開始
3、表達式過濾器
filter(expr)/(fn):篩選出與指定表達式/函數匹配的元素集合。
功能最強大的表達式過濾器,可接收函數參數,也可以是簡單的選擇器表達式
映射 map(callback):將一組元素轉換成其他數組
清洗 not(expr):刪除與指定表達式匹配的元素
截取 slice(start,end):選取一個匹配的子集

查找

向下查找後代元素
children():取得所有元素的所有子元素集合(子元素)
find():搜索所有與指定表達式匹配的元素(所有後代元素中查找)
查找兄弟元素 siblings()查找當前元素的兄弟

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章