jQuery 核心 - jQuery() 方法

來源:互聯網
上載者:User
原文:http://www.w3school.com.cn/jquery/core_jquery.asp#syntax1
執行個體

找出所有屬於 div 元素的子項目的 p 元素,然後設定其邊框屬性:

$("div > p").css("border", "1px solid gray");

親自試一試 定義和用法

jQuery() 方法接受一個字串,其中包含了用於匹配元素集合的 CSS 選取器。

jQuery() 函數有三種文法: 文法 1

接受一個字串,其中包含了用於匹配元素集合的 CSS 選取器:

jQuery(selector, [context])

詳細用法 文法 2

使用原始 HTML 的字串來建立 DOM 元素:

jQuery(html,[ownerDocument])

詳細用法 文法 3

綁定一個在 DOM 文檔載入完成後執行的函數:

jQuery( callback )

詳細用法 jQuery( selector, [ context ] )

該文法有以下幾種用法: 用法 1 :設定選取器環境 文法

jQuery(selector, [context])

預設情況下,選取器從文檔根部對 DOM 進行搜尋。不過,可以為 $() 設定可選的 context 參數。

例如,如果我們希望在一個 callback 中搜尋一個元素,可以限定下面的搜尋: 執行個體

$("div.foo").click(function() {  $("span", this).addClass("bar");});

由於我們已經將 span 選取器限定到 this 這個環境中,只有被點擊元素中的 span 會得到附加的 class。

在內部,選取器環境是通過 .find() 方法實現的,因此 $("span", this) 等價於 $(this).find("span")。

jQuery 的核心功能都是通過這個函數實現的。jQuery中的一切都基於這個函數,或者說都是在以某種方式使用這個函數。這個函數最基本的用法就是向它傳遞一個運算式(通常由 CSS 選取器組成),然後根據這個運算式來尋找所有匹配的元素。

預設情況下, 如果沒有指定 context 參數,$() 將在當前的 HTML document 中尋找 DOM 元素;如果指定了 context 參數,如一個 DOM 元素集或 jQuery 對象,那就會在這個 context 中尋找。在 jQuery 1.3.2 以後,其返回的元素順序等同於在 context 中出現的先後順序。 用法 2 :使用 DOM 元素 文法

jQuery(element)

該函數允許我們通過使用以其他方式找到的 DOM 元素來建立 jQuery 對象。該功能通常的用法是,對已經通過 this 關鍵字傳遞到 callback 函數的元素調用 jQuery 的方法: 執行個體

$("div.foo").click(function() {  $(this).slideUp();});

此例會在元素被點擊時使用滑動動畫對其進行隱藏。由於處理常式接受的 this 關鍵詞中的被點擊項目是純的 DOM 元素,因此在對其調用 jQuery 的方法之前,必須用 jQuery 對象封裝該元素。

這個函數也可以接收 XML 文檔和 Window 對象(雖然它們不是 DOM 元素)作為有效參數。

當 XML 資料從 Ajax 調用中返回後,我們可以使用 $() 函數通過 jQuery 對象封裝該資料。一旦完成,我們就可以使用 .find() 和其他 DOM 遍曆方法來取回 XML 結構中單個元素。 用法 3 :複製 jQuery 對象 文法

jQuery(jQuery object)

當以參數的形式向 $() 函數傳遞 jQuery 對象後,會建立一個該對象的副本。與初始對象一樣,新的 jQuery 對象引用相同的 DOM 元素。 用法 4 :返回空的集合 文法

jQuery()

對於 jQuery 1.4,調用無參數的 jQuery() 方法會返回空的 jQuery 集合。在之前版本的 jQuery 中,這樣會返回包含 document 節點的集合。 jQuery( html, [ ownerDocument ] )

該文法有以下幾種用法: 用法 1 :建立新的元素 文法

jQuery(html,[ownerDocument])

你可以傳遞一個手寫的 HTML 字串,或者由某些模板引擎或外掛程式建立的字串,也可以是通過 AJAX 載入過來的字串。但是在你建立 input 元素的時會有限制,可以參考第二個樣本。

當然這個字串可以包含斜杠 (比如一個映像地址),還有反斜線。當你建立單個元素時,請使用閉合標籤或 XHTML 格式。例如,建立一個 span ,可以用 $("<span/>") 或 $("<span></span>") ,但不推薦 $("<span>")。在 jQuery 中,這個文法等同於 $(document.createElement("span"))。

如果以參數的形式將字串傳遞給 $(),jQuery 會檢查字串是否是 HTML (比如,字串某些位置存在標籤)。如果不是,則把字串解釋為選取器運算式,請見上面的講解。但如果字串是 HTML 片段,則 jQuery 試圖建立由該 HTML 片段描述的 DOM 元素。然後會建立並返回一個引用這些 DOM 元素的 jQuery 對象: 執行個體

$("<p id="test">My <em>new</em> text</p>").appendTo("body");

如果 HTML 片段比不含屬性的簡單標籤更複雜,如同上面例子中的 HTML,那麼元素實際的建立過程是由瀏覽器的 innerHTML 機制完成的。具體地講,jQuery 會建立新的 <div> 元素,然後為傳入的 HTML 片段設定元素的 innerHTML 屬性。當參數只是簡單的標籤,比如$("<img />") 或 $("<a></a>"),jQuery 會通過內生的 JavaScript createElement() 函數來建立元素。

要確保跨平台相容性,片段的結構必須良好。能夠包含其他元素的標籤必須成對出現(帶有關閉標籤):

$("<a href="http://jquery.com"></a>");

不過,jQuery 也允許類似 XML 的標籤文法:

$("<a/>");

無法包含其他元素的標籤可以關閉,也可以不關閉:

$("<img />");$("<input>");
用法 2 :設定屬性和事件 文法
jQuery(html,props)

對於 jQuery 1.4,我們可以向第二個參數傳遞一個屬性對應。該參數接受能夠傳遞給 .attr() 方法的屬性的超集。此外,可以傳遞任意的事件類型,並可以調用下面的 jQuery 方法:val, css, html, text, data, width, height, or offset.

注意,Internet Explorer 不允許你建立 input 元素並改變其類型;您必須使用例如 "<input type="checkbox" />" 來規定類型。 執行個體

建立一個 <input> 元素,同時設定 type 屬性、屬性值,以及一些事件。

$("<input>", {  type: "text",  val: "Test",  focusin: function() {    $(this).addClass("active");  },  focusout: function() {    $(this).removeClass("active");  }}).appendTo("form");
jQuery( callback )

允許你綁定一個在 DOM 文檔載入完成後執行的函數。

該函數的作用如同 $(document).ready() 一樣,只不過用這個函數時,需要把頁面中所有需要在 DOM 載入完成時執行的其他 $() 操作符都封裝到其中來。儘管從技術上來說,這個函數是可連結的,但真正以這種方式連結的情況並不多。 例子

當DOM載入完成後,執行其中的函數:

$(function(){  // 文檔就緒});

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.