讀jQuery之三(構建選擇器)

前面兩篇已經道明瞭jQuery的核心框架。弄清楚了jQuery對象的組成,以及如何用extend方法來擴展庫。鏈式操做 也僅僅是方法體內返回this。

爲了敘述每一篇的重點,其示例代碼都是最精簡的,好比選擇器只能傳HTMLElement和id。

這篇咱們加強下選擇器,依據2/8原則,這裏僅實現最經常使用的幾種。


1, 經過id獲取,該元素是惟一的javascript

1
$( '#id' )


2, 經過className獲取html

1
2
3
4
5
6
$( '.cls' // 獲取文檔中全部className爲cls的元素
$( '.cls' , el)
$( '.cls' '#id' )
$( 'span.cls' // 獲取文檔中全部className爲cls的span元素
$( 'span.cls' , el)  // 獲取指定元素中className爲cls的元素, el爲HTMLElement (不推薦)
$( 'span.cls' '#id' // 獲取指定id的元素中className爲cls的元素


3, 經過tagName獲取java

1
2
3
$( 'span' // 獲取文檔中全部的span元素
$( 'span' , el)  // 獲取指定元素中的span元素, el爲HTMLElement (不推薦)
$( 'span' '#id' // 獲取指定id的元素中的span元素


4, 經過attribute獲取框架

1
2
3
4
5
6
7
8
9
$( '[name]' // 獲取文檔中具備屬性name的元素
$( '[name]' , el)
$( '[name]' '#id' )
$( '[name=uname]' // 獲取文檔中全部屬性name=uname的元素
$( '[name=uname]' , el)
$( '[name=uname]' '#id' )
$( 'input[name=uname]' // 獲取文檔中全部屬性name=uname的input元素
$( 'input[name=uname]' , el)
$( 'input[name=uname]' '#id' )

 

示例:this

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
<!DOCTYPE html>
<html>
     <head>
         <meta charset= "utf-8" >
         <title>zchain test</title>
         <script src= "http://files.cnblogs.com/snandy/zchain-0.3.js" ></script>
     </head> 
<body>
     <div id= 'content' >aaa</div>
     <div>bbb</div>
     <p  class = "pra" >ccc</p>
     <input type= "submit"  value= "submit" />
     <input type= "button"  value= "submit" />
     <script type= "text/javascript" >
         var  obj1 = $( "#content" );  // id
         var  obj2 = $( 'div' );  // tagName
         var  obj3 = $( '.pra' );  // className
         var  obj4 = $( 'input[type=button]' );  // attribute
         
         console.log(obj1);
         console.log(obj2);
         console.log(obj3);
         console.log(obj4);
     </script>
</body>
</html>

  

Firebug輸出以下spa

相關文章
相關標籤/搜索