1. 程式人生 > >Jquery基礎1-----入門

Jquery基礎1-----入門

每一個 () javascrip 調用 log script 範圍 指定 延遲

1.讓jQuery放棄對$符號的使用

  出了jquery之外,仍有一些javascript庫也使用了$符號,可以使用jQuery.noConflict();方法讓jQuery放棄對$符號的使用

  也可自定義jQuery的簡寫符號:

  var jq = jQuery.noConflict();

  jq(document).ready(function(){});//jq代替$,成為jquery的簡寫形式

2.等待DOM就緒

  $(document).ready(function(){

    console.log("在function內部編寫代碼");

  });

  這種方法的實質是:以函數作為參數傳遞給ready方法,其實是為jQuery的ready事件綁定事件處理函數,可簡寫為$(function(){});

3.延遲ready事件的出發事件------holdReady()

  當我們動態載入外部資源時這個方法有用

  $.holdReady(true);//延遲ready事件的觸發

  $(document).ready(function(){

    console.log("在function內部編寫代碼");

  });

  setTimeout(function(){

    $.holdReady(false);//五秒後接觸ready時間的延遲

  },5000);

4. 使用上下文限制搜索範圍

  1) 將一個選擇器用作下一個選擇器的上下文

  $(document).ready(function(){

    $("img:odd",$("div")).mouseout(function(){});//選取所有div中的第奇數個img,$("div")用作另一個選擇器的上下文。

  });

  2)將HTMLElement對象用作上下文

  $(document).ready(function(){

    var ele = document.getElementById(""block);

    $("img:odd",block).mouseout(function(){});//在block元素內搜索奇數圖片

  });

5.確定創建jQuery對象對應的上下文對象-----context屬性

  $(document).ready(function() {

    var jq1 = $("img:odd");

    //沒有上下文對象,默認為document,由於document沒有tagName屬性,所以返回undifined
    console.log("No context: " + jq1.context.tagName);//undifined

    //上下文元素為多個元素時,其上下文對象為document
    var jq2 = $("img:odd", $("div"));
    console.log("Multiple context elements: " + jq2.context.tagName);//undifined
    //使用單一HTMLElement元素創建jQuery對象,其上下文對象為該HTMLElement元素
    var jq3 = $("img:odd", document.getElementById("block"));
    console.log("Single context element: " + jq3.context.tagName); //block對應的標簽名
   });

6.jQuery對象和DOM對象的轉換與處理

  由DOM對象生成Jquery對象

  var $id1 = $(document.getElementById("id1"));//此時$id1 為jQuery對象

  jQuery對象生成DOM對象:可以通過數組、each、索引等方法獲得具體如下

  1)把jQuery對象看成是一個HTMLElement對象數組---享受jQuery高級功能的同時仍可以直接訪問DOM

  $(document).ready(function() {
    var elems = $("img:odd");
    for (var i = 0; i < elems.length; i++) {
      console.log(elems[i].tagName + " " + elems[i].src);//直接訪問Img對象的src屬性
    }
  });

  2)叠代JQuery對象內含的DOM對象

  $(document).ready(function() {
    $("img:odd").each(function(index, elem) {//index為索引,elem為每一個DOM對象
      console.log("Element: " + elem.tagName + " " + elem.src);
    });
  });

  3)獲取指定索引位置的HTMLElement對象(DOM對象)

  $(document).ready(function() {
    var elem = $("img:odd").get(1);//獲取索引位置為1的DOM元素
    console.log( elem.tagName + " " + elem.src);
  });

  4)確定一個HTMLElement對象的序號----index方法

  $(document).ready(function() {

    var elems = $("body *");
    // index方法傳入DOM參數
    var index = elems.index(document.getElementById("oblock"));
    console.log("Index using DOM element is: " + index);

    // index對象傳入jQuery對象
    index = elems.index($("#oblock"));
    console.log("Index using jQuery object is: " + index);
  });

  註意:index方法也可傳入字符串參數(解釋成選擇器,可能會造成兩個結果集翻轉)和空參數(得到一個元素相當於鄰居的序號)

  5.jquery支持鏈式調用

Jquery基礎1-----入門