createElement()结合appendChild()的实例

createElement()作用是在JavaScript中创建一个元素

appendChild()向html元素添加节点

下面是冲浪后改编的例子代码

先插html代码

<body>
<ul>
<li value="1">加载按钮</li>
<li value="2">加载下拉框</li>
<li value="3">加载文本框</li>
</ul>
<div id = "show">例子将在这里进行展示</div>
</body>

  

 <script>
window.onload = function(){ var show = document.getElementById("show");
var ul = document.getElementsByTagName("ul")[0];
var li = ul.childNodes;
for(var i=0; i<li.length; i++){
li[i].onclick = function() {
if(show.childNodes.length > 0){//判断show里面有没有东西
show.removeChild(show.childNodes[0]);//如果有就删掉,完成初始化
//show.innerHTML = '';//这样也能直接删除show的子节点,更方便
}
selectFunction(parseInt(this.getAttribute("value")));//value值是字符串,需要用parseInt()转换成数字,然后传值
}
}
function selectFunction(index){//接收参数并调用相应的函数
switch(index){
case 1:createInput();
break;
case 2:createSelect();
break;
case 3:createText(); }
}
function createInput() {
// show.removeChild(show.childNodes[0]);
var e = document.createElement("input");
e.type = "button";
e.value = "这是加载测试的小例子";
show.appendChild(e);
}
function createSelect(){ var e = document.createElement("select");
e.options[0] = new Option("加载项1","");
e.options[1] = new Option("加载项2","");
show.appendChild(e);
}
function createText(){
var e = document.createElement("input");
e.setAttribute("name","q");
e.setAttribute("value","使用setAttribute");
e.setAttribute("type","text");//使用setAttribute和e.type="text";效果是一样的,但setAtt是1级dom,兼容性更好
show.appendChild(e);
}
  }
</script>

这是效果

效果:http://lingwer111.go4.arebz.co/createElement.html

上一篇:Odoo10中calendar视图点击事件


下一篇:尝试解决在构造函数中同步调用Dns.GetHostAddressesAsync()引起的线程死锁