jQuery()創建元素,創建新的元素,設置屬性和事件
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");
$("<div/>", {
"class": "test",
text: "Click me!",
click: function(){
$(this).toggleClass("test");
}
}).appendTo("body");
版權聲明: 本站僅提供信息存儲空間服務,旨在傳遞更多信息,不擁有所有權,不承擔相關法律責任,不代表本網贊同其觀點和對其真實性負責。如因作品內容、版權和其它問題需要同本網聯系的,請發送郵件至 舉報,一經查實,本站將立刻刪除。