1.创建一个节点,用creatElement(TagName)
appendChild 是添加子节点。用法是 父级.appendChild(子节点);
2.插入用insertBefore
用法 父级.insertBefore(子节点,在谁之前)。 我犯得错误是没有把创建的li获取出来,直接写的oLi[0],要知道oLi并不是一个数组。他仅仅是一个变量。
oBtn.onclick = function (){
var oLi = document.createElement('li');
// oUl.appendChild(oLi);
oLi.innerHTML = oTxt.value;
oUl.insertBefore(oLi,oLi[0]); 错误示范
};
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> </style> </head> <body> <input id="txt" type="text" /> <input id="btn" type="button"/> <ul id="ull"></ul> <script> var oBtn = document.getElementById('btn'); var oUl = document.getElementById('ull'); var oTxt = document.getElementById('txt'); var aLi = document.getElementsByTagName('li'); oBtn.onclick = function (){ var oLi = document.createElement('li'); // oUl.appendChild(oLi); oLi.innerHTML = oTxt.value; if(aLi.length>0) { oUl.insertBefore(oLi,aLi[0]); } else { oUl.appendChild(oLi); } }; </script> </body> </html>
删除子节点 用法 父级.removeChild(子节点)
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> </style> </head> <body> <ul id="ull"> <li>egdf<a href="javascript:">删除</a></li> <li>bnfgd<a href="javascript:">删除</a></li> <li>qr43<a href="javascript:">删除</a></li> <li>rgs<a href="javascript:">删除</a></li> <li>shdy<a href="javascript:">删除</a></li> </ul> <script> var oUl = document.getElementById('ull'); var aA = document.getElementsByTagName('a'); for(var i=0;i<aA.length;i++) { aA[i].onclick = function () { oUl.removeChild(this.parentNode); } } </script> </body> </html>