DIV CSS 佈局教程網

jQuery選擇器入門
編輯:JQuery特效代碼     
jQuery-認識JQuery,jQuery選擇器

認識JQuery:

1、window.onload與$(document).ready()的區別

 

window.onload

$(document).ready()

執行時機

必須等待網頁中的所有內容加載完畢後才能執行

網頁中所有DOM結構繪制完畢後就執行,可能DOM元素關聯的東西並沒有完全加載完

編寫個數

不能同時編寫多個方法

可以同時編寫多個

 

簡化寫法

 

$(document).ready(function(){

//…

})

 

2、jQuery對象以及DOM對象

jQuery:

$(”#foo”).html( );  //獲取id為foo的元素內的html代碼,html( )是jQuery裡的方法

在DOM中,

document.getElementById("foo").innerHTML;

3、

獲取jQuery對象 : var  $variable = jQuery對象

獲取DOM對象 : var variable = DOM對象

4、jQuery對象不能使用DOM中的方法,要將轉為DOM對象才可以使用 [index] , get(index)

jQuery是一個類似於數組的對象,可以通過[index]的方法得到相應的DOM對象

方法1:

var  $cr = $("#cr") ;  //jQuery對象

var cr = $cr[0];   //DOM對象

alert(cr.checked)  //檢測這個checkbox是否被選中

方法2:

var $cr = $("#cr");   //jQuery對象

var cr = $cr.get(0);    //DOM對象

alert(cr.chencked);

5、DOM對象轉化為jQuery對象:只要用$()將DOM對象包起來就可以得到一個jQuery對象

jQuery代碼:

var cr = document.getElementById("cr");  //DOM對象

var $cr = $(cr)    //jQuery對象

6、

$(document).ready(function(){

      var $cr = $("#cr");    //jQuery對象

      var cr = $cr[0];        //DOM對象

      $cr.click(function(){    

           if(cr.checked){      //DOM判斷

                 alert("感謝你的支持,你可以繼續操作");

           }

      })

})

 

$(document).ready(function(){

      var $cr = $("$cr");    // jQuery對象

      $cr.click(function(){       

           if($cr.is(":checked")){     //jQuerry判斷

                 alert("感謝你的支持,你可以繼續操作");

           }

      })

})

 

jQuery選擇器:

1、<p class="demo"> aaaa </p>    ----在jQuery中獲取到節點:$(".demo")

2、JS中:

    <div>test</div>

    <script type="text/javascript">

         document.getElementById("tt").style.color = "red"; 

         ------會報錯,在文檔中沒有id=tt的節點

    </script>

 

    <div>test</div>

    <script type="text/javascript">

         if(document.getElementById("tt")){

         document.getElementById("tt").style.color = "red"; 

         ------不會報錯,在文檔中即使沒有id=tt的節點

     }

</script>

jQuery中:

    <div>test</div>

    <script type="text/javascript">

       $('#tt').css("color","red");

       -----在jQuery中是不需要判斷該節點是否存在的,

    </script>

$('#tt')獲取的永遠是對象,即使網頁中沒有此元素

3、jQuery中檢測某個元素是否存在的時候,不能使用以下代碼,應該利用對象的長度或者轉化為DOM對象

    if( $('#tt') ){

          ----錯誤的

    }

 

    if( $('#tt').length > 0){

          //do Something

}

 if( $('#tt')[0] ){

  //do Something

 }

4、

$("div,span,p.myClass")選取所有的<div>,<span>,以及class為myClass的<P>標籤的一組標籤   ----集合元素

基本選擇器:

$("#one").css("background","#bbffaa");

$(".mini").css("background","#bbffaa");

$("div").css("background","#bbffaa");

$("*").css("background","#bbffaa");

$("span, #two").css("background","#bbffaa");

層次選擇器:

$("div span")選取<div>裡的所有span元素

$("div > span")選取<div>元素下,元素名為<span>的子元素

$(".one + div")選取class為one的下一個<div>的同輩元素

$("#two ~div")選取id為two的元素後面的所有<div>同輩元素

過濾選擇器:

$("div :first")選取所有<div>元素後面的第一個<div>元素

$("div :last")選取所有<div>元素後面的最後一個<div>元素

 

$("input :not(.myClass)")選取class不是myClass的<input>元素

$("input :even")選取索引是偶數的<input>元素

$("input :odd")選取索引是奇數的<input>元素

$("input :eq(1)")選取索引等於1的<input>元素

$("input :gt(1)")選取索引大於1的<input>元素

$("input :lt(1)")選取索引小於1的<input>元素

 

$("div :animated")選取正在執行動畫的<div>元素

$(":focus")選取當前獲取焦點的元素

內容過濾選擇器:

$("div :contains('我')")選取含有文本 “我”的<div>元素

$("div :empty")選取不包含子元素(包括文本元素)的<div>空元素

$("div :has(p)")選取含有<p元素的<div>元素

$("div :parent")選取擁有子元素(包括文本元素)的<div>元素

可見性過濾選擇器:

$(":hidden")選取所有的不可見元素,包含<input type="hidden" />,<div style="display:none;">和<div style="visibility:hidden;">等元素

$("input :hidden")

$("div :visible") 選取所有的可見的div元素

屬性過濾選擇器:

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

$("div[title=test]")  選取title為test的div元素

$("div[title != test]")  選取title不等於test的div元素,沒有改屬性的也會被選中

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

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

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

$('div[title |= "en"]')  選取title屬性等於en獲取以en為前綴(-  分隔)的元素

$("div[title ~= "uk"]")  選取title屬性用空格分隔的值中包含字符uk的元素

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

子元素過濾選擇器:

:nth-child(index/even/add) :選取每個父元素下的第index個子元素或者奇偶元素,index從1開始,為每一個符合條件的父元素匹配子元素

:first-child :選取每個父元素的第一個子元素

:last-child :選取每個父元素的最後一個子元素

:only-child 如果某個元素是它父元素中唯一的子元素,則會被匹配

表單對象屬性過濾器:

:enabled :選取所有可用元素  ---disabled

:disabled :選取所有不可用的元素  ---disabled

:checked :選取所有被選中的元素

:selected :選取所有被選中的選項元素(下拉列表) $("select option:selected")選取所有被選中的選項元素

獲取內容的是text()方法

表單選擇器:

:input

:text

:password

:radio

:checkbox

:submit

:image

:reset

:button

:file

:hidden

5、

可以使用next()方法代替$('prev + next')選擇器

$(".one + div")   等價於    $(".one").next("div")

 

可以使用nextAll()方法代替$('prev ~sibling')

$("#prev ~div")   等價於    $("#prev").nextAll("div")

 

sibling()與$('prev ~sibling')選擇器進行比較,sibling()與位置無關

//選取#prev之後的所有同輩div元素

$("#prev ~div").css("background","#bbffaa");

//同上

$("#prev").nextAll("div").css("background","#bbffaa");

//選取##prev的所有同輩div元素,與前後位置無關

$("#prev").sibling("div").css("background","#bbffaa");

6、選擇器中含有空格,多一個空格或少一個空格也許會得到截然不同的結果

//選取class為“test”的元素裡面的隱藏元素

var $a = $('.test :hidden');  ---帶空格的  ---長度為4

//選取掩藏的class為“test”的元素

var $b = $('.test:hidden');  ---不帶空格的  ---長度為3

 

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved