本文為大家分享了jQuery常用選擇器的具體程式碼,供大家參考,具體內容如下
1、jQuery:(使用jQuery一定標示我們使用的版本號)
它是一個使用原生的JS來封裝的常用的方法的類別庫(解決了瀏覽器的兼容問題)
2、jQuery中提供的方法
選擇器
透過傳遞對應規則的內容(ID、標籤名稱、樣式類別名稱...),取得到頁面中指定的元素/元素集合
<!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> //原生JS获取到的结果属于元素对象/元素集合/节点集合...他们可以使用浏览器为其提供的那些天生自带的属性和方法 //原生的JS对象不能直接的使用jQuery中提供的属性和方法 var oDiv = document.getElementById('div1') oDiv.clientWidth oDiv.getAttribute //jq获取到的结果是一个jQuery对象,可以使用jQuery里面提供的属性和方法,但是不能直接的使用浏览器内置的属性和方法 var $oDiv = jQuery("#div1")//$("#div1") $oDiv.innerWidth(); $oDiv.attr //关于原生JS对象和jQuery对象之间的转换 //1)、原生的转变成jQuery:$(原生JS对象) $(oDiv) //2)、jQuery转化成原生:直接通过索引获取对应的元素对象即可 $oDiv[0] $oDiv.get(0)//<==>$oDiv[0]都是通过索引来获取指定位置的元素(JS原生对象) //更多的jQuery选择器 $('#div1') $('div') $('.w100') $('*') $('#div1,div,.w100')//把每一个选择器获取到的jQuery对象最后融合在一起,最后一起获取到 $('#div1 li')//在子子孙孙级中进行查找 $('#div1>li')//在子级中进行查找 $('#div3+')//获取它的下一个弟弟 $('#div3+ul')//获取它的下一个弟弟并且标签名是ul的 $('#div3~')//获取它的所有的弟弟元素 $('#div3~ul')//获取它的所有的弟弟元素并且标签名为ul的 $('#div1>div:not(.w100)')//#div1下的所有子集div样式类名不包含w100的 $('#div1>div:eq(0)')//通过索引获取到集合中的某一个,但是获取到的结果依然是一个jQuery对象(而get方法也是通过索引获取,但是获取到的是一个JS原生对象) $('#div1>div:gt(1)')//大于索引1的(不包含索引1的) $('#div1>div:lt(1)')//小于索引1的(不包含索引1的) $('#div1 li:contains("我")')//获取所有的li内容包含“我” 的 $('#div1 div:has(ul)')//在所有的div中包含ul的 $('#div1>*:nth-child(1)')//获取所有的子元素的第一个 $('#div1>*:eq(1)')//获取所有的子元素的第二个(索引为1) </script> </body> </html>
元素選擇是一切操作的前提, jQuery中$()函數最強大最常用的功能之一就是使用選擇器選擇DOM元素。這裡就匯總一些十分常用的jquery選擇器。
1、jQuery選擇器基本結構
$('选择器') $('选择器 上下文')
2、使用基本css選擇器
關於基本的css選擇器可以看一下css選擇器詳解。這裡列出幾種最基本的使用css選擇器的用法。
2.1 元素選擇器
$('a'); //选择所有a元素 $('div'); //选择所有div元素 $('p'); //选择所有p元素
當然,如果你願意,jQuery也允許我們使用逗號將多個選擇器合併為一個選擇器:
$('a,div,p');
這樣得到了和上面3行程式碼相同的效果。
2.2 類別選擇器
$('div.myClass'); //所有拥有myClass类的div元素 $('p.myClass'); //所有拥有myClass类的p元素 $('*.myClass'); //拥有myClass类的所有类型元素
通常情況下,要選擇擁有某一類別的所有元素時,會省略掉通配符*,如下:
$('.myClass'); //拥有myClass类的所有类型元素
這樣不會有任何不妥,也是我們常用的寫法。
另外,某些元素可能擁有不只一個類別:
$('div.myClass1.myClass2');
這樣會選擇同時擁有myClass1以及myClass2類別的div元素。當然,被選中的div元素可能還擁有其他類,也就是說,以下div會毫無疑問地被選中:
<div class="myClass1 myClass2 myClass3">...</div>
2.3 ID選擇器
$('table#myID'); //id为myID的table元素
3、結合使用上下文選擇器
3.1 後代選擇器
#從這裡開始,開始一些稍有難度的選擇,例如:
$('ul.myUl li');
這樣會選擇所有擁有myUl類別的ul元素的li子元素。聽起來很拗口。看下面的程式碼:
html
<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
<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元素都是ul.myUl的子元素,雖然ul.myUl有2個。現在應該能理解所有擁有myUl類別的ul元素的li子元素的意義了吧!
後代選擇器其實不只能夠選擇某元素的後代,也可以選擇某元素後代的後代(聽起怎麼有點彆扭),如下:
$('ul.myUl li a');
這樣就選擇了所有擁有myUl類別的ul元素的所有li後代元素的所有a後代元素。雖然又多了一個xx的後代,不過和上面的分析是一個道理,就不贅述了。
以上是jQuery中關於常用選擇器的具體分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!