您好,登錄后才能下訂單哦!
首先說一下利用JQuery函數(shù)動態(tài)創(chuàng)建元素,
- <div id="testDiv">測試圖層</</span>div>
- <script type="text/javascript">
- document.getElementByIdx_x_x("testDiv").innerHTML = ""border:solid 1px #FF0000\">動態(tài)創(chuàng)建的div
- ";
- </script>
在頁面上動態(tài)添加了一個div,但是這種創(chuàng)建是不可取的,因為這是在頁面還正在加載的時候動態(tài)創(chuàng)建的,改變了頁面結(jié)構(gòu),如果在網(wǎng)速太慢或者響應(yīng)時間過長的情況下會報腳本錯誤,也就是說永遠(yuǎn)不要在頁面加載時改變頁面的DOM模型。
正確建法:
$(function(){
$("
動態(tài)創(chuàng)建的DIV
");
})
根據(jù)HTML原始字符串動態(tài)創(chuàng)建DOM模型。
如果html字符串是沒有屬性的元素時,JQuery在內(nèi)部使用了document_createElement()方法來創(chuàng)建。
$("").css("border","1px solod #c1c1c1").html("動態(tài)創(chuàng)建的DIV").appendTo(testDiv));
//appendTo()方法是在被選元素的末尾插入內(nèi)容。
否則JQuery內(nèi)部用innerHtml方法來創(chuàng)建:
$("
動態(tài)創(chuàng)建的DIV
").appendTo(testDiv);
上面只是創(chuàng)建元素的方式,下面我們來在頁面加載完畢后添加元素。
利用JQuery會簡便許多( 在圖像和外部資源加載之前執(zhí)行函數(shù)):
$(function)(){
$("#testDiv").html("
動態(tài)創(chuàng)建的DIV
");
}
利用JQuery$()可以綁定多個函數(shù),如果使用傳統(tǒng)的window.onload()只會調(diào)用一個函數(shù)。
————————————————
既然創(chuàng)建了元素,那么就要把這些元素封裝到JQuery的包裝集中,然后就可以在包裝集中調(diào)用這些函數(shù),用來改變原始jQuery包裝集, 并且大部分返回的都是過濾后的jQuery包裝集。
比如過濾filtering中的map(),是將一組元素轉(zhuǎn)換成數(shù)組(不論是否是元素數(shù)組),這個方法可以將所選元素里的值建立一個列表,或者是數(shù)組形式。
- $("p").append($("input").map(function(){
- return $(this).val();
- }).get().join(","));
//append()和appendTo()
比如$("
動態(tài)創(chuàng)建的DIV
").appendTo(testDiv);
使用這個方法其實(shí)是顛倒了常規(guī)的$(A).append(B),即不是將B添加到A中,而是將A添加到B中。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。