zoukankan      html  css  js  c++  java
  • Javascript:DOM动态创建元素实例应用

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>Dom:动态创建元素</title>
    </head>
    <body>
    
    
    <ul id="demo1"> </ul>
    <input type="text" id="text1"/>
    <input type="button" value="发布" id="btn">
    
      
    <script type="text/javascript">
    
    var oUl=document.getElementById('demo1');
    var oText=document.getElementById('text1');
    var oBtn=document.getElementById('btn');
    
    /*innerHTML方法会使性能降低;动态创建性能更优*/
    
    oBtn.onclick=function(){
    
    /*
    *创建元素
    *语法:document.createElement(要创建的标签名);
    * 
     */
    
    var oLi=document.createElement('li'); 
    //此时,只是创建,并不会在dom树里显示
    
    	//oLi.innerHTML=oText.value+'<a href="javascript:">删除</a>';
    	//上述方法,性能较差,且不易操作
    
    
    var oA=document.createElement('a');
    oA.innerHTML='删除';
    oA.href='javascript:;';
    
    oA.onclick=function(){
    
    	//删除元素
    	//父级.removeChild(要删除的元素)
    	
    	oUl.removeChild(this.parentNode);
    }
    
    oLi.innerHTML=oText.value;
    oLi.appendChild(oA);
    oText.value='';
    
    /*
    *将元素添加到页面中的方法:
    *方法一: appendChild()
    *功能:即在父元素的最后一个子节点之后追加子元素,
    *语法:父元素.appendChild(要添加的元素)
    *兼容性:在IE下,如果第二个参数的节点不存在会报错;其他标准浏览器下,如果第二个参数的节点不存在,则会以appendChild的形式添加
    *.eg. oUl.appendChild();
     */
    
    //oUl.appendChild(oLi);
    
    /*
    *将元素添加到页面中的方法:
    *方法二: insertBefore(新元素,被插入的已有元素)
    *功能:在指定元素前面插入一个新元素
    *语法:父元素.appendChild(要添加的元素)
    *.eg. oUl.insertBefore(oLi,oUl.children[0]);
     */
    
    //oUl.insertBefore(oLi,oUl.children[0]);
    
    //兼容性写法
    
    if(oUl.children[0]){
    	oUl.insertBefore(oLi,oUl.children[0]);
    }else{
    	oUl.appendChild(oLi);
    }
    
    
    
    }
    
    
    </script>
    
    	
    </body>
    </html>
    

    演示地址:http://codepen.io/anon/pen/yNpgLp

  • 相关阅读:
    汇编学习--第十天
    linux(03)基础系统优化
    linux(02)基础shell命令
    lf 前后端分离 (6) 支付
    lf 前后端分离 (5) 优惠券
    lf 前后端分离 (4) 价格策略
    lf 前后端分离 (3) 中间建跨域
    lf 前后端分离 (2) 课程数据获取,Serializer的返回
    lf 前后端分离 (1) auth,token认证
    支付宝接口调用总结(1)
  • 原文地址:https://www.cnblogs.com/kevinCoder/p/4604573.html
Copyright © 2011-2022 走看看