首頁  >  核心  > jQuery(html,[ownerDoc])

返回值:jQueryjQuery(html,[ownerDocument])

jQuery(html,[ownerDoc])概述

根據(jù)提供的原始 HTML 標(biāo)記字符串,動(dòng)態(tài)創(chuàng)建由 jQuery 對象包裝的 DOM 元素。同時(shí)設(shè)置一系列的屬性、事件等。

你可以傳遞一個(gè)手寫的 HTML 字符串,或者由某些模板引擎或插件創(chuàng)建的字符串,也可以是通過 AJAX 加載過來的字符串。但是在你創(chuàng)建 input 元素的時(shí)會(huì)有限制,可以參考第二個(gè)示例。當(dāng)然這個(gè)字符串可以包含斜杠 (比如一個(gè)圖像地址),還有反斜杠。當(dāng)你創(chuàng)建單個(gè)元素時(shí),請使用閉合標(biāo)簽或 XHTML 格式。例如,創(chuàng)建一個(gè) span ,可以用$("<span/>") 或 $("<span></span>") ,但不推薦 $("<span>")。在jQuery 中,這個(gè)語法等同于$(document.createElement("span")) 。

在jQuery 1.8中,通過$(html,props), 您可以使用任何jQuery對象的方法或插件。在此之前,你只能使用一個(gè)方法名的短名單,并有沒有成文的方式添加到列表中。然而,請注意,這可能會(huì)導(dǎo)致你的代碼的行為改變,如果插件添加后,有相同的名稱作為HTML屬性。

參數(shù)

html,[ownerDocument]String,DocumentV1.0

html:用于動(dòng)態(tài)創(chuàng)建DOM元素的HTML標(biāo)記字符串

ownerDocument:創(chuàng)建DOM元素所在的文檔

html,propsString,MapV1.4

html:用于動(dòng)態(tài)創(chuàng)建DOM元素的HTML標(biāo)記字符串

props:用于附加到新創(chuàng)建元素上的屬性、事件和方法

示例

描述:

動(dòng)態(tài)創(chuàng)建一個(gè) div 元素(以及其中的所有內(nèi)容),并將它追加到 body 元素中。在這個(gè)函數(shù)的內(nèi)部,是通過臨時(shí)創(chuàng)建一個(gè)元素,并將這個(gè)元素的 innerHTML 屬性設(shè)置為給定的標(biāo)記字符串,來實(shí)現(xiàn)標(biāo)記到 DOM 元素轉(zhuǎn)換的。所以,這個(gè)函數(shù)既有靈活性,也有局限性。

jQuery 代碼:
$("<div><p>Hello</p></div>").appendTo("body");

描述:

創(chuàng)建一個(gè) <input> 元素必須同時(shí)設(shè)定 type 屬性。因?yàn)槲④浺?guī)定 <input> 元素的 type 只能寫一次。

jQuery 代碼:
// 在 IE 中無效:
$("<input>").attr("type", "checkbox");
// 在 IE 中有效:
$("<input type='checkbox'>");

描述:

動(dòng)態(tài)創(chuàng)建一個(gè) div 元素(以及其中的所有內(nèi)容),并將它追加到 body 元素中。在這個(gè)函數(shù)的內(nèi)部,是通過臨時(shí)創(chuàng)建一個(gè)元素,并將這個(gè)元素的 innerHTML 屬性設(shè)置為給定的標(biāo)記字符串,來實(shí)現(xiàn)標(biāo)記到 DOM 元素轉(zhuǎn)換的。所以,這個(gè)函數(shù)既有靈活性,也有局限性。

jQuery 代碼:
$("<div>", {
  "class": "test",
  text: "Click me!",
  click: function(){
    $(this).toggleClass("test");
  }
}).appendTo("body");

描述:

創(chuàng)建一個(gè) <input> 元素,同時(shí)設(shè)定 type 屬性、屬性值,以及一些事件。

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