jquery 動(dòng)態(tài)創(chuàng)建元素的方式介紹及應(yīng)用
更新時(shí)間:2013年04月21日 16:05:01 作者:
動(dòng)態(tài)創(chuàng)建元素可以通過兩種方式1、Dom HTml2、JQuery函數(shù)創(chuàng)建3、頁面加載的時(shí)候最好在頁面加載完后執(zhí)行創(chuàng)建,感興趣的朋友可以了解下
一般動(dòng)態(tài)創(chuàng)建元素可以通過兩種方式
1、Dom HTml
var select = document.createElement("select");
select.options[0] = new Option("加載項(xiàng)1", "value1");
select.options[1] = new Option("加載項(xiàng)2", "value2");
select.size = "2";
testDiv.appendChild(select);
});
通過document的createElement方法創(chuàng)建,然后通過appendChild方法添加到指定的對象中即可
2、JQuery函數(shù)創(chuàng)建
$("<div style=\"border:solid 1px #FF0000\">動(dòng)態(tài)創(chuàng)建的div</div>")
通過append,appendto,prepend,prependto等方法添加到指定的對象中,具體可以查看
http://www.dhdzp.com/article/35845.htm
3、頁面加載的時(shí)候最好在頁面加載完后執(zhí)行創(chuàng)建
可以使用window.onload,但是在添加新的元素, 但是不幸的是瀏覽器執(zhí)行window.onload函數(shù)不僅僅是在構(gòu)建完DOM樹之后, 也是在所有圖像和其他外部資源完整的加載并且在瀏覽器窗口顯示完畢之后. 所以如果某個(gè)圖片或者其他資源加載很長時(shí)間, 訪問者就會(huì)看到一個(gè)不完整的頁面, 甚至在圖片加載之前就執(zhí)行了需要依賴動(dòng)態(tài)添加的元素的腳本而導(dǎo)致腳本錯(cuò)誤.
解決辦法就是等DOM被解析后, 在圖像和外部資源加載之前執(zhí)行我們的函數(shù).在jQuery中讓這一實(shí)現(xiàn)變得可行
$(document).ready(
function() { testDiv.innerHTML = "<div style=\"border:solid 1px #FF0000\">使用動(dòng)態(tài)創(chuàng)建的$(document).ready(function)方法</div>"; }
);
或者使用簡便語法:
//jQuery 使用$(function)方法
$(
function() { testDiv.innerHTML += "<div style=\"border:solid 1px #FF0000\">使用$(function)方法</div>"; }
);
使用$()將我們的函數(shù)包裝起來即可. 而且可以在一個(gè)頁面綁定多個(gè)函數(shù), 如果使用傳統(tǒng)的window.onload則只能調(diào)用一個(gè)函數(shù).
所以請大家將修改DOM的函數(shù)使用此方法調(diào)用. 另外還要注意document.createElement和innerHTML的區(qū)別. 如果可以請盡量使用document.createElement和$("<div/>")的形式創(chuàng)建對象.
1、Dom HTml
復(fù)制代碼 代碼如下:
var select = document.createElement("select");
select.options[0] = new Option("加載項(xiàng)1", "value1");
select.options[1] = new Option("加載項(xiàng)2", "value2");
select.size = "2";
testDiv.appendChild(select);
});
通過document的createElement方法創(chuàng)建,然后通過appendChild方法添加到指定的對象中即可
2、JQuery函數(shù)創(chuàng)建
$("<div style=\"border:solid 1px #FF0000\">動(dòng)態(tài)創(chuàng)建的div</div>")
通過append,appendto,prepend,prependto等方法添加到指定的對象中,具體可以查看
http://www.dhdzp.com/article/35845.htm
3、頁面加載的時(shí)候最好在頁面加載完后執(zhí)行創(chuàng)建
可以使用window.onload,但是在添加新的元素, 但是不幸的是瀏覽器執(zhí)行window.onload函數(shù)不僅僅是在構(gòu)建完DOM樹之后, 也是在所有圖像和其他外部資源完整的加載并且在瀏覽器窗口顯示完畢之后. 所以如果某個(gè)圖片或者其他資源加載很長時(shí)間, 訪問者就會(huì)看到一個(gè)不完整的頁面, 甚至在圖片加載之前就執(zhí)行了需要依賴動(dòng)態(tài)添加的元素的腳本而導(dǎo)致腳本錯(cuò)誤.
解決辦法就是等DOM被解析后, 在圖像和外部資源加載之前執(zhí)行我們的函數(shù).在jQuery中讓這一實(shí)現(xiàn)變得可行
復(fù)制代碼 代碼如下:
$(document).ready(
function() { testDiv.innerHTML = "<div style=\"border:solid 1px #FF0000\">使用動(dòng)態(tài)創(chuàng)建的$(document).ready(function)方法</div>"; }
);
或者使用簡便語法:
復(fù)制代碼 代碼如下:
//jQuery 使用$(function)方法
$(
function() { testDiv.innerHTML += "<div style=\"border:solid 1px #FF0000\">使用$(function)方法</div>"; }
);
使用$()將我們的函數(shù)包裝起來即可. 而且可以在一個(gè)頁面綁定多個(gè)函數(shù), 如果使用傳統(tǒng)的window.onload則只能調(diào)用一個(gè)函數(shù).
所以請大家將修改DOM的函數(shù)使用此方法調(diào)用. 另外還要注意document.createElement和innerHTML的區(qū)別. 如果可以請盡量使用document.createElement和$("<div/>")的形式創(chuàng)建對象.
您可能感興趣的文章:
- js 動(dòng)態(tài)創(chuàng)建 html元素
- js實(shí)現(xiàn)動(dòng)態(tài)創(chuàng)建的元素綁定事件
- JS使用eval()動(dòng)態(tài)創(chuàng)建變量的方法
- JS動(dòng)態(tài)創(chuàng)建元素的兩種方法
- 動(dòng)態(tài)創(chuàng)建按鈕的JavaScript代碼
- JavaScript如何動(dòng)態(tài)創(chuàng)建table表格
- JS動(dòng)態(tài)創(chuàng)建DOM元素的方法
- js動(dòng)態(tài)創(chuàng)建及移除div的方法
- javascript實(shí)現(xiàn)dom動(dòng)態(tài)創(chuàng)建省市縱向列表菜單的方法
- jQuery動(dòng)態(tài)創(chuàng)建html元素的常用方法匯總
- 基于jquery的動(dòng)態(tài)創(chuàng)建表格的插件
- javascript與jquery動(dòng)態(tài)創(chuàng)建html元素示例
相關(guān)文章
jQuery EasyUI API 中文文檔 - Tabs標(biāo)簽頁/選項(xiàng)卡
jQuery EasyUI API 中文文檔 - 標(biāo)簽頁/選項(xiàng)卡(Tabs),學(xué)習(xí)jQuery EasyUI的朋友可以參考下。2011-10-10
jQuery使用Selectator插件實(shí)現(xiàn)多選下拉列表過濾框(附源碼下載)
Selectator是一款實(shí)現(xiàn)多選和搜索過濾功能的jQuery下拉列表框插件。下文給大家介紹jQuery使用Selectator插件實(shí)現(xiàn)多選下拉列表過濾框,需要的朋友一起學(xué)習(xí)吧2016-04-04
jquery 單擊li防止重復(fù)加載的實(shí)現(xiàn)代碼
li在單擊后調(diào)用ajax加載內(nèi)容然后展開,li不像button在響應(yīng)了單擊事件后可以設(shè)置為disabled。2010-12-12

