目录
createElement、appendChild和createTextNode
传统方法
使用document.write函数
别用
document.write("<p>加入的文字</p>");
//严重违背了内容和行为分开的原则
//千万别用
innerHTML
使用innerHTML,实现对大段元素的统一修改!
//使用innerHTML实现显示id为"testdiv"的元素
//然后将该元素改为"This is new text!"
window.onload=function(){
var testdiv=document.getElementById("testdiv");
alert(testdiv.innerHTML);
testdiv.innerHTML="<p>This is new text!</p>";
}
DOM方法
createElement、appendChild和createTextNode
//使用createElement和appendChild将p元素添加到testdiv节点
var newtext=document.createElement("p");
testdiv.appendChild(newtext);
document.createTextNode("");//createTextNode仅能插入纯文本
使用DOM插入元素的一般流程:
createElement创建一个节点。
用setAttribute设置一下属性
然后createTextNode一个纯文本。
将纯文本用appendChild插入节点。
拿下!
在已有元素前插入新元素insertBefore()
需要三个参数:父元素,插入的元素,目标元素
父元素.insertBefore(新元素,目标元素);
如果想在已有元素后添加...也不是不可以!
//如果目标元素在队列末尾,则直接使用appendChild添加到队尾
//如果目标元素不在队尾,则使用nextSiBling属性跳转到下一个元素,然后使用insertBefore()插到前面
function insertAfter(newElement,targetElement){
var parent=targetElement.parentNode;
if(targetElement==parent.lastChild)
{
parent.appendChild(newElement);
}
else
{
parent.insertBefore(newElement,targetElement.nextSiBling);
}
}