jQuery 溫習篇---強大的JQuery選擇器(轉)

學習jQuery已經有1年多的時間了,但是一直由於做WinForm程序開發沒有經常實踐。現在又開始重拾WebForm開發。寫幾篇jQuery系列,溫習下jQuery框架的知識。

jQuery出世以來,它取得很大的成就和認同。JQuery是一個輕量級的JavaScript框架,它的發佈版很小僅16K左右。它能讓你方便簡潔的寫出漂亮的動畫效果、實現各種視覺效果,輕鬆的處理JavaScriptDOM數以及Ajax的交互行爲。它的優點在於輕量級、簡單易學、易擴展、跨瀏覽器和網上擁有大量的jQuery插件使用。由於它這一大堆的優點,它已經被微軟官方認可加入VS IDE中擁有強大的智能提示,並據官方的統計現在至少有20%的國際性大網站 已經加入jQuery作爲其腳本。

1:首先是JavaScriptDOM jQuery包裝集的區分


1.1:JavaScript中我們訪問的方式是操作DOM結構,提供的可用方法有:

1: document.getElementById("ID"):根據ID獲取DOM對象。

2document.getElementsByName("name"):根據HTML標記name屬性獲取一個DOM數組。

3document.getElementsByTagName("Tag"):根據HTMLTag獲取一個DOM數組。

1.2jQuery相對DOM則提供了許多可用的方法和屬性。

 jQuery簡單的獲取對象有$(“#id”) ,$(“.class”),$(“tag”)方式,它的書寫方式和css3.0相似 id#class(css)用.HTMl Tag則直接書寫。關於jquery的選擇器在下面講述,這裏不急。          1.3:JavaScriptDOM對象轉可以化爲jQuery包裝集:通過$(element)赴會就爲jQuery包裝集。

 

2jQuery最強大的就是提供了一個萬能的屬性選擇器。


2.1基本選擇器

選擇表達式

說明

舉例

#id

根據給定的ID匹配一個元素用#

$("#testDiv2")  獲取IDtestDiv2的元素

.class

根據給定的類匹配元素(也就是取class的值).

$(".myDiv")    獲取classmyDiv的一組 元素

element

根據給定的元素名匹配所有元素,直接寫上元素名例如(p,a,input,div)

$("div")    獲取所 有的div元素

selector1,selector2,selectorN

將每一個選擇器匹配到的元素合併後一起返回,選擇器可以是id,class,element,隔開

$("#testDiv2,p")

$("p,span,div.myDiv") 獲取所有的p,spanclassmyDiv的元素

*

選擇所有的元素

$("*")

2.2簡單選擇器

選擇表達式

說明

舉例

:first

匹配找到的第一個元素

$("div:first")

:last

匹配找到的最後一個元素

$("div:last")

:eq(index)

匹配一個給定索引值的元素,當然要存在纔可以找得到,索引從0開始

$("div:eq(1)")

:gt(index)

匹配所有大於給定索引值的元素

$("div:gt(0)")    查找第1個以後的元素

:lt(index)

匹配所有小於給定索引值的元素

$("div:lt(2)")     查找第 一行和第二行的元素

:even

匹配所有索引值爲偶數的元素,從 0 開始計數

$("div:even")
查找第1,3,5div

:odd

匹配所有索引值爲奇數的元素,從 0 開始計數

$("div:odd")
查找第2,4div

:not(selector)

去除所有與給定選擇器匹配的元素
selector
爲表達式,可以是屬 性裏面的一個值

$("input:not(:checked)")
查找所有未選中的input 元素[ :checked爲自定義篩選選擇器,後面會講到]

:header

匹配如 h1, h2, h3之類的標題元素

$(":header").css("background", "#EEE");
添加樣式

:animated

匹配所有正在執行動畫效果的元素

暫無例子

3.3:內容選擇器

選擇表達式

說明

舉例

:contains(text)

匹配包含給定文本的元素,只要裏面出現即可

$("p:contains('段落')")
找帶有段落字樣的p元素

:empty

匹配所有不包含子元素或者文本的空元素

$("div:empty")

:has(selector)

匹配含有選擇器所匹配的元素的元素

$("div:has('p')")

:parent

匹配含有子元素或者文本的元素

$("div:parent")

 

4.4子元素選擇器

選擇器

說明

舉例

:first-child

匹配第一個子元素

$("ul li:first-child")//在每個 ul 中查找 第一個 li

:last-child

匹配最後一個子元素

$("ul li:last-child")//在每個 ul 中查找 最後一個 li

:nth-child(index/even/odd/equation)

匹配其父元素下的第N個子或奇偶元素

':eq(index)' 只匹配一個元素,而這個將爲每一個父元素匹配子元素。:nth-child1開始 的,而:eq()是從0算起的!

可以使用:
nth-child(even)//
偶數行

:nth-child(odd)//
奇數行
:nth-child(3n)
:nth-child(2)//
索引爲2
:nth-child(3n+1)
:nth-child(3n+2)

$("ul li:nth-child(2)")//在每個 ul 查找第 2 li

:nth-child(index/even/odd/equation)

匹配其父元素下的第N個子或奇偶元素

$("ul li:nth-child(2)")//在每個 ul 查找第 2 li

:only-child

如果某個元素是父元素中唯一的子元素,那將會被匹 配

如果父元素中含有其他元素,那將不會被匹配。

$("ul li:only-child")// ul 中查找 是唯一子元素的 li

4.5:可見性選擇器

選擇器

說明

舉例

:hidden

匹配所有的不可見元素,input 元素的 type 屬性爲 "hidden" 的話也會被匹配到

$("div:hidden")

:visible

匹配所有的可見元素

$("div:visible")//元素來 匹配

$(".divH:visible")//
根據class來匹配

例子就不用多講了,大家對於jQuery應該都有一定的見 地了。呵呵…

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