JS 005 動態建立HTML內容

2022-03-30 14:58:00 字數 2182 閱讀 1674

(1)使用document.write()

(2)使用innerhtml

innerhtml可以用來讀寫某給定元素裡的

html

內容。舉例:

this is mycontent

window.onload = function()

輸出:this is mycontent

innerhtml的屬性:只有乙個取值為

this is mycontent

的字串。

可見:innerhtml

屬性無細節可言,而

dom提供的方法和屬性則可以讓我們對

div節點中的任何乙個進行細節的訪問。但是,當你需要把一大段的

html

內容插入乙個網頁時,

innerhtml

會更加實用。不僅可以讀取元素的

html

內容,還可以用它把

html

內容寫入元素。請注意,標準的

dom是可以替代

innerhtml

的,只是要多編寫一些**。

舉例:window.onload = function()

(3)理解以動態的方式建立html

內容改變dom

節點樹就能以動態的方式建立

html

內容根據dom

,乙個文件就是一棵節點樹,如果想把一些

html

的內容【

p/ul/li

】新增到文件中,就必須在相應的

dom節點樹上插入元素節點。如果想要在節點樹上新增內容【文字,屬性,元素】,就必須插入新的節點。

(4)使用dom

① 插入新的元素節點

createelement():建立元素節點

舉例:現在我們以dom

的標準而不是

innerhtml

的標準來改變

dom節點樹。

步驟1)建立乙個新的元素

var para = document.createelemnet("p");

在這一步之後,p

元素以in

個有了乙個

nodetype

和nodename

屬性2)把這個新元素插入節點樹

首先,我們要獲取要插入的節點的父節點,因為p

節點是div

的子節點,因此,我們要獲得

div節點。因此,現在的操作如下:

//1 獲取父節點

var testdiv = doucment.getelementbyid("testdiv");

//2 創造新的子節點

var para = document.createelemnet("p");

//3 將新的子節點插入到父節點中

② 建立新的文字節點

createtextnode():建立文字節點

//1 建立文字節點

var txt = document.createtextnode("hello world");

//2 找到要插入的節點

var p = document.getelementbytagname("p");

//3 在都沒中插入文字節點

③ insertbefore():把乙個新元素插入到乙個現有元素之前

(5)總結

① 使用document.write()

方法/innerhtml

屬性/dom

方法都能夠想瀏覽器裡的文件動態新增

html

內容。② 使用createelement

或是createtextnode

方法建立的節點是

js世界的孤兒,你還需要使用

方法或者

insertbefore()

方法把這些"碎片

"物件插入到某個文件的節點樹上才能讓他們呈現在瀏覽器的視窗裡。

③ 在需要檢索文件的現有資訊時,以下的dom

方法最有用

getelementbyid()

getelementbytagname()

getattribute()

④ 在需要把資訊新增到文件裡去時,以下dom

方法最有用

createelement()

createtextnode()

insertbefore()

setattribute()

動態建立HTML內容

1 document.write 用來向html中插入東西,例入 是很經典的方法,但是盡量避免在body中插入它 違反了js和html分離的原則,靈活性不高 2 innerhtml 微軟自家的專利,始見於ie4。元素節點的innerhtml是乙個字串而不是dom樹,它沒有什麼細節可言,但是卻大大地方...

js動態建立div

js動態建立div1.建立某個標籤 如下在body中建立乙個div的事例 function fun 2.新增屬性 給建立的標籤新增相應的屬性 framediv setattribute id divid 給建立的div設定id值 framediv classname divclass 給建立的div...

js動態建立svg

下面的這段寫法,可以做到在原生js中,動態插入能相容ios7 8的svg影象,ios7 8命名空間的ns物件的直接innerhtml寫入應該是有問題。var icon document.createelementns svg 建立帶有標準svg命名空間的節點 svghack document.cre...