本文為大家分享了jQuery常用選擇器的具體程式碼,供大家參考,具體內容如下
1、jQuery:(使用jQuery一定標示我們使用的版本號)
它是一個使用原生的JS來封裝的常用的方法的類別庫(解決了瀏覽器的兼容問題)
2、jQuery中提供的方法
選擇器
透過傳遞對應規則的內容(ID、標籤名稱、樣式類別名稱...),取得到頁面中指定的元素/元素集合
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | <!DOCTYPE html>
<html lang= "en" >
<head>
<meta charset= "UTF-8" >
<title>Document</title>
</head>
<body>
<div id='div1'>
<div>
<span></span>
<span></span>
<span></span>
</div>
<div></div>
<div id='div3'></div>
<ul>
<li></li>
<li></li>
<li></li>
</ul>
</div>
<script>
var oDiv = document.getElementById('div1')
oDiv.clientWidth
oDiv.getAttribute
var $oDiv = jQuery( "#div1" )
$oDiv .innerWidth();
$oDiv .attr
$(oDiv)
$oDiv [0]
$oDiv .get(0)
$('#div1')
$('div')
$('.w100')
$('*')
$('#div1,div,.w100')
$('#div1 li')
$('#div1>li')
$('#div3+')
$('#div3+ul')
$('#div3~')
$('#div3~ul')
$('#div1>div:not(.w100)')
$('#div1>div:eq(0)')
$('#div1>div:gt(1)')
$('#div1>div:lt(1)')
$('#div1 li:contains( "我" )')
$('#div1 div:has(ul)')
$('#div1>*:nth-child(1)')
$('#div1>*:eq(1)')
</script>
</body>
</html>
|
登入後複製
元素選擇是一切操作的前提, jQuery中$()函數最強大最常用的功能之一就是使用選擇器選擇DOM元素。這裡就匯總一些十分常用的jquery選擇器。
1、jQuery選擇器基本結構
1 2 | $('选择器')
$('选择器 上下文')
|
登入後複製
2、使用基本css選擇器
關於基本的css選擇器可以看一下css選擇器詳解。這裡列出幾種最基本的使用css選擇器的用法。
2.1 元素選擇器
1 2 3 | $('a');
$('div');
$('p');
|
登入後複製
當然,如果你願意,jQuery也允許我們使用逗號將多個選擇器合併為一個選擇器:
這樣得到了和上面3行程式碼相同的效果。
2.2 類別選擇器
1 2 3 | $('div.myClass');
$('p.myClass');
$('*.myClass');
|
登入後複製
通常情況下,要選擇擁有某一類別的所有元素時,會省略掉通配符*,如下:
這樣不會有任何不妥,也是我們常用的寫法。
另外,某些元素可能擁有不只一個類別:
1 | $('div.myClass1.myClass2');
|
登入後複製
這樣會選擇同時擁有myClass1以及myClass2類別的div元素。當然,被選中的div元素可能還擁有其他類,也就是說,以下div會毫無疑問地被選中:
1 | <div class = "myClass1 myClass2 myClass3" >...</div>
|
登入後複製
2.3 ID選擇器
3、結合使用上下文選擇器
3.1 後代選擇器
#從這裡開始,開始一些稍有難度的選擇,例如:
這樣會選擇所有擁有myUl類別的ul元素的li子元素。聽起來很拗口。看下面的程式碼:
html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <ul class = "myUl" >
<li><a href= "#" ></a>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</li>
<li>
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
</li><ul>
|
登入後複製
這裡,透過$('ul.myUl li'),所有的li元素都會被選中,注意是所有的!因為所有的li元素都是
的後代。不論你是直接後代,孫子代還是重孫子代。
事實上,上例還不足以完全說明所有擁有myUl類別的ul元素的li子元素的意義。因為擁有myUl類別的ul元素可能不只一個,如下:
html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <ul class = "myUl" >
<li><a href= "#" ></a>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</li>
<li>
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
</li><ul><ul class = "myUl" >
<li>
<ul>
<li>一</li>
<li>二</li>
<li>三</li>
</ul>
</li><ul></ul></ul>
|
登入後複製
$('ul.myUl li')同樣會選擇以上程式碼中所有的li元素。因為上述程式碼中所有li元素都是ul.myUl的子元素,雖然ul.myUl有2個。現在應該能理解所有擁有myUl類別的ul元素的li子元素的意義了吧!
後代選擇器其實不只能夠選擇某元素的後代,也可以選擇某元素後代的後代(聽起怎麼有點彆扭),如下:
1 | $('ul.myUl li a');
|
登入後複製
這樣就選擇了所有擁有myUl類別的ul元素的所有li後代元素的所有a後代元素。雖然又多了一個xx的後代,不過和上面的分析是一個道理,就不贅述了。
以上是jQuery中關於常用選擇器的具體分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!