第七章 动态创建标记

1. 一些传统的方法

  1.1 docment.write方法

//直接在js里调用,缺点是违背了行为应该和表现分离。永远记得把结构、样式和行为分开。
document.wirte("<p>this is inserted.</p>");

  1.2 innerHTML属性,用来读写某个元素的HTML内容。这是HTML专有的属性。不能用于其他的标记语言文档。例如XHTML(MIME类型是application/xhtml+xml文档)文档就不支持

2. DOM方法

  2.1 createElement方法:创建一个新的元素,然后把这个元素插入节点树。

  2.2 appendChild方法 

var p = document.createElement("p");//创建节点,一个空白的p元素
var testDiv = document.getElementById("testDiv");
testDiv.appendChild(p);//添加为子节点

  2.3 createTextNoded创建文本节点

var p = document.createElement("p");//创建元素节点,一个空白的p元素
var testDiv = document.getElementById("testDiv");
testDiv.appendChild(p);//添加为子节点
var txt = document.createTextNode("hello");//创建文本节点
p.appendChild(txt);

  2.4 insertBefore(newobj, oldobj)方法

  2.5 insertAfter()方法

//DOM没有提供insertAfter()方法 
function insertAfter(newElement, targetElement){ 
    var parent = targetElement.parentNode; 
    if (parent.lastChild == targetElement) { 
        // 如果最后的节点是目标元素,则直接添加。因为默认是最后 
        parent.appendChild(newElement); 
    } 
    else { 
        parent.insertBefore(newElement, targetElement.nextSibling); 
        //如果不是,则插入在目标元素的下一个兄弟节点 的前面。也就是目标元素的后面 
    } 
}     

3. Ajax XMLHttpRequest对象

  返回结果测状态0-为初始化,1-正在加载,2-加载完毕,3-正在交互,4-完成。

原文地址:https://www.cnblogs.com/ustcyc/p/4199766.html