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-完成。