返回值:jQuery jQuery(html, [ownerDocument] )
概述
根據提供的原始 HTML 標記字串,動態建立由 jQuery 對像包裝的 DOM 元素。同時設定一系列的屬性、事件等。
你可以傳遞一個手寫的 HTML 字串,或者由某些模板引擎或外掛建立的字串,也可以是通過 AJAX 載入過來的字串。但是在你建立 input 元素的時會有限制,可以參考第二個示例。當然這個字串可以包含斜槓 (比如一個影象地址),還有反斜槓。當你建立單個元素時,請使用閉合標籤或 XHTML 格式。例如,建立一個 span ,可以用$("<span/>") 或 $("<span></span>") ,但不推薦 $("<span>")。在jQuery 中,這個語法等同於$(document.createElement("span")) 。
在jQuery 1.8中,通過$(html,props), 您可以使用任何jQuery對象的方法或外掛。在此之前,你只能使用一個方法名的短名單,並有沒有成文的方式新增到列表中。然而,請注意,這可能會導致你的程式碼的行為改變,如果外掛新增后,有相同的名稱作為HTML屬性。
參數
html,[ownerDocument] String,Document V1.0
html :用於動態建立DOM元素的HTML標記字串
ownerDocument :建立DOM元素所在的文件
html,props String,Map V1.4
html :用於動態建立DOM元素的HTML標記字串
props :用於附加到新建立元素上的屬性、事件和方法
示例
描述:
動態建立一個 div 元素(以及其中的所有內容),並將它追加到 body 元素中。在這個函式的內部,是通過臨時建立一個元素,並將這個元素的 innerHTML 屬性設定為給定的標記字串,來實現標記到 DOM 元素轉換的。所以,這個函式既有靈活性,也有侷限性。
jQuery 程式碼:
$("<div><p>Hello</p></div>").appendTo("body");
描述:
建立一個 <input> 元素必須同時設定 type 屬性。因為微軟規定 <input> 元素的 type 只能寫一次。
jQuery 程式碼:
// 在 IE 中無效:
$("<input>").attr("type", "checkbox");
// 在 IE 中有效:
$("<input type='checkbox'>");
描述:
動態建立一個 div 元素(以及其中的所有內容),並將它追加到 body 元素中。在這個函式的內部,是通過臨時建立一個元素,並將這個元素的 innerHTML 屬性設定為給定的標記字串,來實現標記到 DOM 元素轉換的。所以,這個函式既有靈活性,也有侷限性。
jQuery 程式碼:
$("<div>", {
"class": "test",
text: "Click me!",
click: function(){
$(this).toggleClass("test");
}
}).appendTo("body");
描述:
建立一個 <input> 元素,同時設定 type 屬性、屬性值,以及一些事件。
jQuery 程式碼:
$("<input>", {
type: "text",
val: "Test",
focusin: function() {
$(this).addClass("active");
},
focusout: function() {
$(this).removeClass("active");
}
}).appendTo("form");