
js 動態添加元素(div、li、img、span 等)及設置屬性
把一串 html 標簽賦給一個 javascript 變量,除屬性的值要用轉義的雙引號外,某些時候字符串還很長,顯得有些復雜。如果用 js 動態添加元素,就不會有那么復雜的字符串出現,代碼閱讀性強一點,也容易理解。
網頁是由 html 標簽一層層組成的,js 也可以動態添加一層層的諸如 div、li、img 這樣的標簽。其實,不管是什么 html 標簽,js 動態創建的方法都差不多,接著就先從動態添加 div 開始。
一、js 動態添加元素div
<div id="parent"></div>
function addElementDiv(obj) {
var parent = document.getElementById(obj);
//添加 div
var div = document.createElement("div");
//設置 div 屬性,如 id
div.setAttribute("id", "newDiv");
div.innerHTML = "js 動態添加div";
parent.appendChild(div);
}
調用:addElementDiv("parent");
提示:javascript 腳本必須放在 div 元素的后面,否則會因取不到它導致代碼執行錯誤,因為如果 javascript 腳本在先,會先加載 javascript 腳本后加載 div 元素。
二、js 動態添加li
<ul id="parentUl"><li>原li</li></ul>
function addElementLi(obj) {
var ul = document.getElementById(obj);
//添加 li
var li = document.createElement("li");
//設置 li 屬性,如 id
li.setAttribute("id", "newli");
li.innerHTML = "js 動態添加li";
ul.appendChild(li);
}
調用:addElementLi("parentUl");
三、js 動態添加元素img
<ul id="parentUl"></ul>
function addElementImg(obj) {
var ul = document.getElementById(obj);
//添加 li
var li = document.createElement("li");
//添加 img
var img = document.createElement("img");
//設置 img 屬性,如 id
img.setAttribute("id", "newImg");
//設置 img 圖片地址
img.src = "/images/prod.jpg";
li.appendChild(img);
ul.appendChild(li);
}
調用:addElementImg("parentUl");
四、js 動態添加元素 span
<div id="parentDiv"></div>
<script type ="text/javascript" language ="javascript">
function addElementSpan(obj) {
var div = document.getElementById(obj);
//添加 span
var span = document.createElement("span");
//設置 span 屬性,如 id
span.setAttribute("id", "spanNew");
//設置 span 元素的文本
span.innerHTML = "新添加的 Span 元素";
div.appendChild(span);
}
</script>
調用:addElementImg("parentUl");
除以上四個元素外,Html 還有很多元素,其它元素也一樣的添加方法。