《DOM Scripting》學習筆記-——第七章 動態建立html內容

來源:互聯網
上載者:User

標籤:doc   win   parent   動態建立   文檔   綜合   style   font   nbsp   

本章內容

1、動態建立html內容的“老”技巧:document.write()和innerHTML屬性

2、DOM方法:createElement(),creatTextNode(),appendChild(),insertBefore().

一、document.write()

文法:document.write(“ ”)

        document.write(變數)

缺點:違背了“分離js”原則。即使把document.write語句挪到外部函數裡,還是需要在html文檔的<body>部分使用<script>標籤才能調用那個函數。

二、innerHTML屬性

 

 innerHTML屬性沒有細節可言,要想獲得細節,就必須使用DOM方法和屬性。

三、DOM提供的方法

1、createElement()方法

文法:document.createElement(nodeName)

舉例:document.createElement("p");

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

window.onload = function() {
var para = document.createElement("p");
var info = "nodeName: ";
info+= para.nodeName;
info+= " nodeType: ";
info+= para.nodeType;
alert(info);
}

 

 

2、appendChild()方法

文法:parent.appendChild(child)

舉例:var testdiv = document.getElementById("testdiv");

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

        testdiv.appendChild(para);

3、createTextNode()方法

文法:document.creatTextNode(text)

舉例:var txt = document.createTextNode("Hello world");

para.appendChild(txt);

 

window.onload = function() {

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

var testdiv = document.getElementById("testdiv");

testdiv.appendChild(para);

var txt = document.createTextNode("Hello world");

para.appendChild(txt);

}

綜合舉例:

<p>This is <em>my</em> content.</p>

 

 

這些html內容對應著一個p元素節點,它本身又包含以下幾個子節點

1,一個文本節點,其內容是“This is”

2,一個元素節點,這個元素節點的名字是“em”;這個元素節點還包含著:

(1),一個文本節點,內容是“my”

3,一個文本節點,其內容是“ content.”(第一個字元是空格,最後一個字元是英文句號)。

window.onload = function() {

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

var txt1 = document.createTextNode("This is ");

para.appendChild(txt1);

var emphasis = document.createElement("em");

var txt2 = document.createTextNode("my");

emphasis.appendChild(txt2);

para.appendChild(emphasis);

var txt3 = document.createTextNode(" content.");

para.appendChild(txt3);

var testdiv = document.getElementById("testdiv");

testdiv.appendChild(para);

}

《DOM Scripting》學習筆記-——第七章 動態建立html內容

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.