(1)createElement("元素名"):此方法可以创建一个新的元素。例如:createElement("p") ,表示创建了一个p标签(元素/段落)。
(2)createTextNode("文本内容"):此方法可以创建一个文本节点。例如:createTextNode("我是新的内容"),表示创建了一个值为“我是新的内容”的文本节点。
(3)appendChild("元素名称"):添加一个新的元素。例如:ul.appendChild("li"),表示在ul里面添加一个li元素。
(4)removeChild("元素名称"):删除一个元素。用法与(3)相反。
下面的例子为ul动态的添加li元素,并且每一次都在原有的li前面添加。
<script>
window.οnlοad=function () {
var UL=document.getElementsByClassName('box')[0];
var btn=document.getElementsByTagName('button');
var index=1; //序号计数器
btn[0].οnclick=function () { //创建新节点,并添加新元素,新添加的元素总是在最前面
var li=document.createElement('li'), //创建li元素
content='我是第'+index+'个li'; //li元素的文本节点的内容
var text=document.createTextNode(content); //创建li元素的文本节点
index++; //每创建一个li计数就+1
var Li=UL.getElementsByTagName('li'); //获取页面中的li集合
UL.insertBefore(li,Li[0]),li.appendChild(text); //在页面中第一个li前面添加新的li标签
}
btn[1].οnclick=function () { //删除添加的元素
var li=document.getElementsByTagName('li')[0];
if(!index%2==0){
li.parentNode.removeChild(li);
}
}
}
</script>
</head>
<body>
<button>点击添加新的li元素</button>
<button>点击删除li元素</button>
<ul class="box"></ul>
</body>
要添加一个元素,首先要先创建一个元素,若要往新添加的元素里面写入文本,那就还要创建一个文本节点,再将文本节点的值插入到新添加的元素中。
比如,我要在ul标签内添加li标签,并且li标签的内容是“我是新添加的内容!”:
第一步获取到页面中的ul标签:var UL = document.getElementsByTagName("ul")[0];
第二步创建一个li元素:var li = document.createElement("li");
第三步创建一个文本加点,并添加文本内容:var content="我是新添加的内容!"; var text=document.createTextNode(content);
第四步将创建好的li元素插入到ul中,并将文本节点插入到li当中:UL.appendChild(li); li.appendChild(text);
经过这四步就创建好了一个li元素,并且它的内容是“我是新添加的内容!”
标注:如果你想每一次新添加的li都在原有的li前面,那就要用到 insertBefore() 方法了。
insertBefore()里面有两个参数值,第一个参数值为你要添加的元素名称,第二个参数值为要在哪里添加的元素的名称(值可以为 null),当为null时,效果就和appendChild()一样了。
例如上面的例子,我想每一次添加的元素li都在最前面。那么只需要改动第四步就行了:
var Li=UL.getElementsByTagName("li");
UL.insertBefore(li,Li[0]);li.appendChild(text);
删除一个元素:removeChild()