1   概述

 本篇文章為穿插文章,ASP.NET MVC系列目前寫了如下幾篇:

寫該篇文章主要目的是為接下來的ASP.NET MVC 系列,如頁面之間傳值,ADO.NET和EF,Bootstrap等打基礎,本篇文章比較基礎,但比較全面,非常適合基礎快速掃盲。

2   基本選擇器

2.1  一覽表

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

2.2  示例代碼

 (1)id選擇器

將id為lastname元素的背景色設置為藍色

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

(2)類選擇器

將class為intro元素的背景色設置為藍色

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

(3)元素選擇器

將p元素的背景色設置為藍色

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

(4)所有選擇器

遍歷body下的所有元素,將其背景色設置為藍色

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

(5)并列選擇器

 將元素p和元素div背景色設置為藍色

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

3   層次選擇器

3.1 一覽表

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

3.2 示例代碼

(1)parent>child(直系子元素,即直接下一代元素)

設置div元素的第一代元素為span的元素的背景色為藍色

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

測試結果:

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

結果分析:根據(jù)如上代碼畫出的DOM樹如下,可以很清晰看出,DIV有三個直接孩子,即第一代span,p,span,代碼中div>span,表示div下的直接第一代span,因此,測試結果就不難理解了。

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

(2)prev+next(prev元素的下一個兄弟元素,等同于next()方法)

設置類為intro元素的下一個兄弟元素背景色為藍色

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

測試結果:

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

結果分析:根據(jù)如上代碼畫出DOM樹如下圖,測試結果顯而易見。

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

(3)prev~siblings(prev元素的所有兄弟元素,等同于nextAll()方法)

 設置類為intro元素之后的所有兄弟元素為div元素的背景色為藍色

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

測試結果:

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

分析測試結果:根據(jù)如上代碼畫出DOM樹如下圖,測試結果顯而易見。

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

4   過濾選擇器

4.1 基本過濾選擇器

4.1.1  一覽表

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

4.1.2  代碼示例

(1):first(選取第一個元素)

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

測試結果:

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

(2):last(選取最后一個元素)

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

測試結果:

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

(3):not(取非元素)

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

但是,請注意下面的代碼:當G1所在div和G2所在div是父子關系時,G1和G2都會變色。

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

(4):even(索引為偶數(shù),索引 index從0開始)

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

測試結果:

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

(5):odd(索引為奇數(shù),索引 index從0開始)

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

測試結果:

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

(6):eq(x)(取指定索引的元素,x為從0開始的索引)

設置索引為2的div元素背景為藍色

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

測試結果:

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

(7):lt(x))(取小于指定索引的元素,x為從0開始的索引)

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

測試結果:

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

(8):gt(x))(取大于指定索引的元素,x為從0開始的索引)

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

測試結果:

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

(8):header(取h1-h6標題元素)

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

測試結果:

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

(9):animated(所有動畫元素)

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

測試結果:

 萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

4.2 內容過濾選擇器

4.2.1 一覽表

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

4.2.2 示例代碼

(1):contains(text)(取包含text文本的元素)

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

測試結果:

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

(2):empty(取不包含子元素或文本為空的元素)

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

測試結果:

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

(3) :has(selector)(取選擇器匹配的元素)

即使span不是div的直系子元素,也會生效

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

測試結果:

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

(4):parent(取包含子元素或文本的元素)

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

測試結果:

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

4.3 可見性過濾選擇器

4.3.1 一覽表

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

4.3.2 示例代碼

(1):hidden(取不可見的元素)

匹配display:none,<input type="hidden" />,visibility:hidden,capacity:0元素

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

測試結果:

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

(2):visible(取可見的元素)

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

測試結果:

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

4.4 屬性過濾選擇器

4.4.1 一覽表

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

4.4.2 代碼示例

(1)[attribute](取擁有attribute屬性的元素)

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

測試結果:

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

(2)[attribute = value](取attribute屬性值等于value)

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

測試結果:

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

(3) [attribute != value](取attribute屬性值不等于value的元素)

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

測試結果:

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

(4)[attribute $= value](attribute屬性值以value結束)

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

測試結果:

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

(5))[attribute^= value](attribute屬性值以value開始)

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

測試結果:

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

(6)[attribute *= value](attribute屬性值包含value值)

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

測試結果:

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

注釋:在屬性選擇器中,^$符號和正則表達式的開始結束符號表示的含義是一致的,*模糊匹配,類似于sql中的like '%str%'。

(7)[selector1][selector2](復合型屬性過濾器,同時滿足多個條件)

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

測試結果:

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

4.5 子元素過濾選擇器

4.5.1 一覽表

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

4.5.2 代碼示例

(1)first-child(表示匹配的第一個元素)和last-child(表示匹配的最后一個子元素)

 需要大家注意的是,:fisrst和:last返回的都是單個元素,而:first-child和:last-child返回的都是集合元素。舉個 例子:div:first返回的是整個DOM文檔中第一個div元素,而div:first-child是返回所有div元素下的第一個元素合并后的集 合。

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

測試結果:

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

(3)only-child(當某個元素有且僅有一個子元素時,:only-child才會生效)

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

測試結果:

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

(4)nth-child

看到這個就想起英文單詞里的,fourth, fifth, sixth……,nth表示第n個,:nth-child就表示第n個child元素。要注意的是,這兒的n不像eq(x)、gt(x)或lt(x)是從 0開始的,它是從1開始的,英文里好像也沒有zeroth這樣的序號詞吧。

:nth-child有三種用法:

1) :nth-child(x),獲取第x個子元素 
2) :nth-child(even)和:nth-child(odd),從1開始,獲取第偶數(shù)個元素或第奇數(shù)個元素 
3) :nth-child(xn+y),x>=0,y>=0。例如x = 3, y = 0時就是3n,表示取第3n個元素(n>=0)。實際上xn+y是上面兩種的通項式。(當x=0,y>=0時,等同于:hth- child(x);當x=2,y=0時,等同于nth-child(even);當x=2,y=1時,等同于:nth-child(odd))

4.6 表單對象屬性過濾選擇器

4.6.1 一覽表

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

4.6.2 代碼示例

(1):enabled和:disabled(取可用或不可用元素)

:enabled和:diabled的匹配范圍包括input, select, textarea

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

測試結果:

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

(2):checked(取選中的單選框或復選框元素)

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

(3):selected(取下拉列表被選中的元素)

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

5   表單選擇器

5.1 一覽表

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

5.2 測試代碼

(1):input()(選擇所有input元素)

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

測試結果:

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

(2):text(選取所有text元素)

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

測試結果:

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

(3):select和:button

(4)其他表單元素比較簡單,在此不列舉。

6   參考文獻

【01】http://www.w3school.com.cn/jquery/jquery_ref_selectors.asp

【02】http://jqueryui.com/

【03】http://www.cnblogs.com/hulang/archive/2011/01/12/1933771.html

【04】http://www.jb51.net/article/57753.htm

【05】http://www.jquery123.com/

 

7   版權

 

  • 感謝您的閱讀,若有不足之處,歡迎指教,共同學習、共同進步。

  • 博主網(wǎng)址:http://www.cnblogs.com/wangjiming/。

  • 極少部分文章利用讀書、參考、引用、抄襲、復制和粘貼等多種方式整合而成的,大部分為原創(chuàng)。

  • 如您喜歡,麻煩推薦一下;如您有新想法,歡迎提出,郵箱:2016177728@qq.com。

  • 可以轉載該博客,但必須著名博客來源。

http://www.cnblogs.com/wangjiming/p/7119309.html