<html>
<head>
<title>js</title>
<script type="text/javascript">
window.οnlοad=function(){
var div=document.getElementById("divid1");
var span=document.createElement("span");
span.id="spanid";
span.style.color="blue";
span.innerHTML=" i am append span !"
//div.appendChild(span);
// .parentNode 父节点
div.parentNode.insertBefore(span,div);
}
</script>
</head>
<body>
<div id="divid" style="color: red; font-size:80;">i am div !
<div id="divid1" style="color: red; font-size:80;">i am div !</div>
</div>
</body>
</html>
在页面加载完毕后,向div元素追加span子元素。
- <html>
- <head>
- <title>js</title>
- <script type="text/javascript">
- window.onload=function(){
- var div=document.getElementById("divid");
- var span=document.createElement("span");
- span.id="spanid";
- span.style.color="blue";
- span.innerHTML=" i am append span !"
- div.appendChild(span);
- }
- </script>
- </head>
- <body>
- <div id="divid" style="color: red; font-size:80;">i am div !</div>
- </body>
- </html>
js创建与追加元素
用javascript创建元素 :
1 var NewNode = document.creatElement('div');
结合appendChild与insertBefore插入到DOM树中
insertBefore:语法:
var insertedNode = parentNode.insertBefore(newNode,referenceNode)
例子
<div> <button onclick="creatEle" id="btn">点击创建新btn</button> <div> <script> //创建一个新btn var newBtn = document.creatElement('button'); newBtn.value="value"; newBtn.style.width = 50px; newBtn.style.height = 50px; //追加新创建的btn var oldBtn = document.getElementById('btn'); var parentNode = oldBtn.parentNode; //parentNode.insertBefore(newBtn,oldBtn);//在原有btn的前面插入新创建的btn; parentNode.insertBefore(newBtn,oldBtn.nextSiblings)//将在原有btn的后面插入新创建的btn,!!!原因是没有insetAfter!!所以用nextSiblings </script>
appendChild 语法
var aChild = element.appendChild(aChild);
例子
//html结构见上
var newBtn = document.creatElement('button'); var oldBtn = document.getElementById('btn'); var parentNode = oldBtn.parentNode; parentNode.appendChild(newBtn);
//MDN 例子 var p = document.createElement("p"); document.body.appendChild(p);
总结:两者都是在父元素内追加子元素,insertBefore可以通过referenceNode.siblings向后插入子元素。