日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第二章(jQuery选择器)

發布時間:2025/5/22 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第二章(jQuery选择器) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2.1jQuery選擇器是什么

1.CSS選擇器

?

選擇器

示例

選擇器

示例

標簽選擇器

a{ } p{ } ul{ }

ID選擇器

#ID{ }

類選擇器

.class{ }

群組選擇器

td,p,div,a{ }

后代選擇器

#link a{ }

通配符選擇器

*{ }

?

2.jQuery選擇器

*jQuery的行為規則都必須再獲取到元素后才能生效

例:

<script type=”text/javascript”>function demo(){Alert(‘JavaScript demo’) } </script> <p onclick = “demo();”>點擊我.</p>

?

上述代碼為元素設置onclick事件,但是JS和HTML混雜在一起不妥,應該將內容和行為分離:

?

<p class= “demo”>jQuery Demo</p> <script type=”text/javascript”>$(“.demo”).click(function(){ //給class 為demo的元素添加行為 Alert(“JQuery demo”); }) </script>

?

2.2jQuery選擇器的優勢

①簡潔的寫法

②支持css1到css3選擇器

③完善的處理機制

使用jQuery選擇器不僅比使用傳統的getElementById()函數簡潔的多,而且能夠避免某些錯誤

例:

<div>test</div><script type=”text/javascript”>document.getElementById(“tt”).styel.color = “red”;</script>

運行上述代碼會報錯,原因是沒有id為”tt”的元素

改進:

<div>test</div><script type=”text/javascript”> If(document.getElementById(“tt”)){ //判斷id為tt是否存在 document.getElementById(“tt”).styel.color = “red”;}</script>

效果達到了,卻很復雜。使用jQuery則可以避免

<div>test</div><script type=”text/javascript”> $(“#tt”).css(“color”,”red”); //這里無需判斷id為tt是否存在</script>

*$(“#tt”)獲取的永遠是對象, 即使網頁上沒有此元素。因此當用jQuery檢查某個元素再網頁上是否存在時,不能用以下代碼:

If($(“#tt”)){//do something }

而應該根據獲取到元素的長度來判斷:

if($(“#tt”).length >0 ){//do something }

或者轉化成DOM對象判斷:

if($(“#tt”)[0] ){//do something }

?

2.3jQuery選擇器

①用js添加行為:(jQuery方法見2.4應用jQuery改寫示例)

示例1:給每個p元素添加行為

步驟:1獲取所有元素?

  ?? 2對元素進行循環(因為獲取的是數組對象)

  ?? 3給每個元素添加行為

var items = document.getElementsByTagName(“p”); //獲取網頁中所有P元素for(var i=0;i<items.length;i++){items[i].onclick = function(){//doing something }}

?

示例2:使一個特定的表格隔行變色

步驟:1根據表格id獲取表格

??????? 2在表格內獲取<tbody>元素

????? ? 3在<tbody>元素下獲取<tr>元素

????? ? 4循環輸出獲取的<tr>元素

??????? 5對<tr>元素的索引值除以2取模,然后根據奇偶設置不同背景色

???????

<script type="text/javascript">window.onload = function(){var item = document.getElementById("tb"); var tbody = item.getElementsByTagName("tbody")[0]; //獲取表格的第1個tbody元素var trs = tbody.getElementsByTagName("tr");for(var i = 0 ;i<trs.length;i++){if(i%2==0){trs[i].style.backgroundColor = "#888";}}}</script></head><body><table id="tb"><tbody><tr><td>第一行</td><td>第一行</td></tr><tr><td>第二行</td><td>第二行</td></tr><tr><td>第三行</td><td>第三行</td></tr><tr><td>第四行</td><td>第四行</td></tr><tr><td>第五行</td><td>第五行</td></tr><tr><td>第六行</td><td>第六行</td></tr></tbody></table></body>

?

效果如圖

示例3:對多選框進行操作,輸出選中的多選框個數

步驟:? 1新建數組

???????? ? 2獲取所有name為”check”的多選框

???????? ? 3循環判斷多選框是否被選中,如果被選中則添加到數組里

???????? ? 4獲取輸出按鈕,然后為按鈕添加onclick事件,輸出數組的長度

<body><input type="checkbox" value="1" name="check" checked/><input type="checkbox" value="2" name="check" ><input type="checkbox" value="3" name="check" checked/> <!--checked 被選中狀態--><input type="button" value="你選中的個數" id="btn"><script type="text/javascript">var btn = document.getElementById("btn");btn.onclick = function(){ //給btn按鈕添加事件var arrays = new Array();var items = document.getElementsByName("check");for(var i = 0;i<items.length;i++){if(items[i].checked){arrays.push(items[i].value);}}alert("選中的個數為:"+arrays.length)}</script></body>

?

?

2.3.1基本選擇器

選擇器

描述

返回

示例

#id

根據id匹配

單元素

$(“#id”)

.class

根據類名匹配

集合

$(“.class”)

element

根據原色名匹配

集合

$(“element”)

*

匹配所有

集合

$(“*”)

Selector1,selector2….

將每個選擇器匹配到元素合并后一起返回

集合

$(“div,span,p.myClass”)選取所有div,span和clss為myClass的p標簽的一組元素

?

2.3.2層次選擇器(后代,子元素,相鄰,兄弟元素等)

選擇器

描述

返回

示例

$(“p span”)

P元素里所有span元素

集合元素

$(“div span”)選取div里所有的span元素

$(“parent>child”)

選取parent下的子元素

集合元素

$(“div > span”)選取div下元素名為span的子元素

$(“prev + next”)

選取緊接prev元素后的next元素

集合元素

$(“.one+div”)選取class為one的下一個div元素

$(“prev ~ siblings”)

選取prev元素之后所有siblings元素

集合元素

$(“#two ~div”)選取id為two的元素后面所有div兄弟元素

?

*$(“prev + next”)和$(“prev ~ siblings”)用的比較少,有更簡單的方法代替

$(“prev + next”)與next()方法的等價關系

?

選擇器

方法

等價關系

$(“.one + div”)

$(“.one”).next(“div”)

?

$(“prev ~ siblings”)和nextAll()方法的等價關系

?

選擇器

方法

等價關系

$(“#prev~div”)

$(“#prev”).nextAll(“div”)

?

*$(“#prev~div”)選擇器只能選擇“#prev”元素后面同輩<div>元素,而siblings()方法與位置無關

$(“#prev ~ div”).css(“”,””);?? //選取#prev之后的同輩div元素

$(“#prev”).nextAll(“div”).css(“”,””)?? //同上

$(“#prev”).siblings(“div”).css(“”,””)?? //選取#prev所有的同輩div元素,無論前后位置

?

2.3.3過濾選擇器

過濾選擇器類似于偽類選擇器 以:開頭。分為:基本過濾,內容過濾,可見性過濾,屬性過濾,子元素過濾和表單對象屬性過濾選擇器

?

①基本過濾選擇器

選擇器

描述

返回

示例

:first

獲取第一個元素

單個元素

$(“div:first”)獲取div中第一個div

:last

獲取最后一個元素

單個元素

$(“div:last”)獲取div中最后一個div

:not(selector)

去除所有與給定選擇器匹配的元素

集合元素

$(“input:not(:myClass)”)選取class不是myClass的input元素

:even

選取索引是偶數的所有元素,索引從0開始

集合元素

$(“input:event”)選取索引是偶數的input元素

:odd

奇數

?

?

:eq(index)

選取索引等于index的元素(index從0開始)

單個元素

$(“input:eq(1)”)選取索引等于1的input元素

:gt(index)

選取索引大于index的元素

集合元素

$(“input:gt(1)”)選取索引大于1的input元素(*大于1,不包括1)

:lt(index)

選取索引小于index的元素

集合元素

與:gt()相反

:header

選取所有標題元素

集合元素

$(“:header”)選取網頁中所有標題

:animated

選取當前正在執行動畫的所有元素

集合元素

$(“div:animated”)選取正照執行動畫的div元素

?

②內容過濾器

選擇器

描述

返回

示例

:contains(text)

選取含有文本內容為”text”的元素

集合元素

$(“div:contains(“我”)”) 選取含有”我”的div元素

:empty

選取不包含子元素或文本的空元素

集合元素

$(“div:empty”)選取不包含子元素(包括文本元素)的div元素

:has(selector)

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

集合元素

$(“div:has(p)”)選取含有p元素的div元素

:parent

選取含有子元素或者文本的元素

集合元素

$(“div:parent”)選取擁有子元素(包括文本元素)的div元素

?

?

③可見性過濾選擇器

?

選擇器

描述

返回

示例

:hidden

選取所有不可見元素

集合元素

$(“:hidden”)選取所有不可見元素,包括<input type=”hidden”/>,<div style=”display:none;”>和<div style=”visibility:hidden”>等元素,如果只選取<input>元素,使用$(“input:hidden”)

:visible

選取所有可見元素

集合元素

#(“div:visible”)選取所有可見<div>元素

?

?

?

④屬性過濾選擇器

?

過濾規則是通過元素的屬性來獲取相應的元素

?

選擇器

描述

返回

示例

[attribute]

選取擁有此屬性的元素

集合元素

$(“div[id]”)選取擁有屬性id的元素

[attribute=value]

選取屬性為value元素

集合元素

$(“div[title=test]”)選取屬性title為”test”的<div>元素

[attribute!=value]

選取屬性不等于value的元素

集合元素

$(“div[title!=test]”)選取屬性title不等于”test”的<div>元素(*沒有有title屬性的<div>元素也會被選取)

[attribute^=value]

選取屬性值以value開始的元素

集合元素

$(“div[title^=test]”)選取屬性title以”test”開始的<div>元素

[attribute$=value]

選取屬性值以value結束的元素

集合元素

$(“div[title$=test]”)選取屬性title以”test”結束的<div>元素

[attribute*=value]

選取屬性值含有value的元素

集合元素

$(“div[title*=test]”)選取屬性title含有”test”的<div>元素

[selector1][selector2]

[selectorN]

用屬性選擇器合并成一個符合屬性選擇器,滿足多個條件,每選擇一次,縮小一次范圍

集合元素

$(“div[id][title$=“test”]”)選取擁有屬性id,并且屬性title以”test”結束的<div>元素

?

?

?

⑤子元素過濾選擇器

?

選擇器

描述

返回

示例

:nth-child

(index/even/odd/

equation)

選取每個父元素下的第index個子元素或者奇偶元素(index從1算起)

集合元素

:eq(index)只匹配一個元素,而:nth-child將為每一個父元素匹配子元素,并且:nth-child(index)的index從1開始,而:eq(index)是從0開始

:first-child

選取每個父元素的第1個子元素

集合元素

:first只返回單個元素,而:first-child選擇符將為每個父元素匹配第一個子元素。

例:$(“ul li:first-child”)選取每個<ul>中第一個<li>元素

:last-child

與上例相反

集合元素

與上例相反

:only-child

如果某個元素是它父元素中唯一的子元素,那么將會被匹配,如果父元素中含有其他元素,則不會被匹配

集合元素

$(“ul li:only-child”)在<ul>中選取是唯一子元素的<li>元素

?

* :nth-child()選擇器是很常用的子元素過濾選擇器,功能如下:

?

(1) :nth-child(even)能選取每個父元素下的索引值是偶數的元素

?

(2) :nth-child(odd) 能選取每個父元素下的索引值是奇數的元素

?

(3) :nth-child(2)?? 能選取每個父元素下的所以只等于2的元素

?

(4) :nth-child(3n)? 能選取每個父元素下的索引值是3的倍數的元素(n從0開始)

?

(5) :nth-child(3n+1)能選取每個父元素下的索引值是(3n+1)的元素(n從0開始)

?

?

?

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

?

選擇器

描述

返回

示例

:enabled

選取所有可用元素

集合元素

$(“#form1 :enabled”)選取id為”form1”的表單內的所有可用元素

:disabled

選取所有不可用元素

集合元素

$(“#form2 :disabled”)選取id為”form2”的表單內所有不可用的元素

:checked

選取所有被選中元素(單選框/復選框)

集合元素

$(“input :checked”)選取所有被選中的<input>元素

:selected

選取所有被選中的選項元素(下拉列表)

集合元素

$(“select :selected”)選取所有被選中的選項元素

?

?

?

?

2.3.4 表單選擇器

?

選擇器

描述

返回

示例

:input

選取所有<input>/<textarea>/<select>和<button>元素

集合元素

$(“:input”) 選取所有<input>/<textarea>/<select>和<button>元素

:text

選取所有的單行文本框

集合元素

$(“:text”)選取所有單行文本框

:password

選取所有密碼框

集合元素

$(“:password”)選取所有密碼框

:radio

選取所有單選框

集合元素

$(“:radio”)選取所有的單選框

:checkbox

選取所有多選框

集合元素

$(“:checkbox”)選取所有復選框

:submit

選取所有提交按鈕

集合元素

$(“:submit”)

:image

選取所有圖像按鈕

集合元素

$(“:image”)

:reset

選取所有重置按鈕

集合元素

$(“:reset”)

:button

選取所有按鈕

集合元素

$(“:button”)

:file

選取所有的上傳域

集合元素

$(“:file”)

:hidden

選取所有不可見元素

集合元素

$(“:hidden”)

?

?

?

?

轉載于:https://www.cnblogs.com/cimuly/p/6028458.html

總結

以上是生活随笔為你收集整理的第二章(jQuery选择器)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。