亚洲欧美成人综合一区_国产精品一区二区无码_亚洲风情偷拍区_成?人免费无码视频在线看

當(dāng)前位置:首頁(yè) > 學(xué)習(xí)>正文

jQuery()創(chuàng)建元素,創(chuàng)建新的元素,設(shè)置屬性和事件

jQuery( html, [ ownerDocument ] )

該語(yǔ)法有以下幾種用法:

用法 1 :創(chuàng)建新的元素

語(yǔ)法

jQuery(html,[ownerDocument])

你可以傳遞一個(gè)手寫的 HTML 字符串,或者由某些模板引擎或插件創(chuàng)建的字符串,也可以是通過(guò) AJAX 加載過(guò)來(lái)的字符串。但是在你創(chuàng)建 input 元素的時(shí)會(huì)有限制,可以參考第二個(gè)示例。

當(dāng)然這個(gè)字符串可以包含斜杠 (比如一個(gè)圖像地址),還有反斜杠。當(dāng)你創(chuàng)建單個(gè)元素時(shí),請(qǐng)使用閉合標(biāo)簽或 XHTML 格式。例如,創(chuàng)建一個(gè) span ,可以用 $("<span/>") 或 $("<span></span>") ,但不推薦 $("<span>")。在 jQuery 中,這個(gè)語(yǔ)法等同于 $(document.createElement("span"))。

如果以參數(shù)的形式將字符串傳遞給 $(),jQuery 會(huì)檢查字符串是否是 HTML (比如,字符串某些位置存在標(biāo)簽)。如果不是,則把字符串解釋為選擇器表達(dá)式,請(qǐng)見上面的講解。但如果字符串是 HTML 片段,則 jQuery 試圖創(chuàng)建由該 HTML 片段描述的 DOM 元素。然后會(huì)創(chuàng)建并返回一個(gè)引用這些 DOM 元素的 jQuery 對(duì)象:

實(shí)例

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

如果 HTML 片段比不含屬性的簡(jiǎn)單標(biāo)簽更復(fù)雜,如同上面例子中的 HTML,那么元素實(shí)際的創(chuàng)建過(guò)程是由瀏覽器的 innerHTML 機(jī)制完成的。具體地講,jQuery 會(huì)創(chuàng)建新的 <div> 元素,然后為傳入的 HTML 片段設(shè)置元素的 innerHTML 屬性。當(dāng)參數(shù)只是簡(jiǎn)單的標(biāo)簽,比如$("<img />") 或 $("<a></a>"),jQuery 會(huì)通過(guò)內(nèi)生的 JavaScript createElement() 函數(shù)來(lái)創(chuàng)建元素。

要確??缙脚_(tái)兼容性,片段的結(jié)構(gòu)必須良好。能夠包含其他元素的標(biāo)簽必須成對(duì)出現(xiàn)(帶有關(guān)閉標(biāo)簽):

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

不過(guò),jQuery 也允許類似 XML 的標(biāo)簽語(yǔ)法:

$("<a/>");

無(wú)法包含其他元素的標(biāo)簽可以關(guān)閉,也可以不關(guān)閉:

$("<img />");
$("<input>");

用法 2 :設(shè)置屬性和事件

語(yǔ)法

jQuery(html,props)

對(duì)于 jQuery 1.4,我們可以向第二個(gè)參數(shù)傳遞一個(gè)屬性映射。該參數(shù)接受能夠傳遞給 .attr() 方法的屬性的超集。此外,可以傳遞任意的事件類型,并可以調(diào)用下面的 jQuery 方法:val, css, html, text, data, width, height, or offset.

注意,Internet Explorer 不允許你創(chuàng)建 input 元素并改變其類型;您必須使用例如 "<input type="checkbox" />" 來(lái)規(guī)定類型。

實(shí)例

創(chuàng)建一個(gè) <input> 元素,同時(shí)設(shè)定 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");

版權(quán)聲明: 本站僅提供信息存儲(chǔ)空間服務(wù),旨在傳遞更多信息,不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任,不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé)。如因作品內(nèi)容、版權(quán)和其它問(wèn)題需要同本網(wǎng)聯(lián)系的,請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。

猜你喜歡