码迷,mamicode.com
首页 > 其他好文 > 详细

1.6 节点的增加与删除

时间:2016-07-28 16:19:24      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:

一、HTML结构

<input type="text" id="inputGet"/>
<button id="leftIn">左侧进入</button>
<button id="rightIn">右侧进入</button>
<button id="leftOut">左侧删除</button>
<button id="rightOut">右侧删除</button>
<div id="container">

</div>

二、css

span{
        width:40px;
        height:40px;
        background-color: deeppink;
        color: white;
        font-size:25px;
        line-height: 40px;
        display: inline-block;
        text-align: center;
        margin-left:10px;
        margin-right:10px;
    }

三、利用原生js的insertAdjacentHTML方法对节点进行操作

window.onload=function(){
     var leftIn=document.getElementById("leftIn");
     var rightIn=document.getElementById("rightIn");
     var leftOut=document.getElementById("leftOut");
     var rightOut=document.getElementById("rightOut");
     var queueShow=document.getElementById("queueShow");
     var inputGet=document.getElementById("inputGet");
     var spanList=document.getElementsByTagName("span");


     //依据参数a对父节点添加第一个子节点("afterbegin")、最后一个子节点("beforeend")
     function addDom(a){
     var value=inputGet.value;
     var items="<span>"+value+"</span>";
     queueShow.insertAdjacentHTML(a,items);
     }
     //根据参数b对父节点删除第一个子节点[0]、最后一个子节点[length-1]
     function removeDom(b){
     alert("当前您删除的数据是:"+queueShow.childNodes[b].innerHTML);
     queueShow.removeChild(queueShow.childNodes[b]);
     }

     leftIn.onclick=function(){
     addDom("afterbegin");
     };
     rightIn.onclick=function(){
     addDom("beforeend");
     };
     leftOut.onclick=function(){
     removeDom(0);
     };
     rightOut.onclick=function(){
     var len=queueShow.childNodes.length;
     removeDom(len-1);
     };
     function spanClick(a){
     alert("您当前删除的数据是"+a.innerHTML);
     a.parentNode.removeChild(a);
     }
     queueShow.addEventListener("click", function(event) {
     if (event.target.nodeName.toLowerCase() === ‘span‘)
     {
     spanClick(event.target);
     }
     });

     };

四、利用js的队列进行对节点的操作

   var container=document.getElementById(‘container‘);
    var listArray = [];

    function leftPush(number) {
        var newElement = document.createElement(‘span‘);
        newElement.innerText= number;
        listArray.unshift(newElement);
        refreshContainer(listArray);
    }

    function leftPop() {
        var targetElement = listArray.shift();
        alert(targetElement.innerHTML);
        refreshContainer(listArray);
    }
    function rightPush(number) {
        var newElement = document.createElement(‘span‘);
        newElement.innerText = number;
        listArray.push(newElement);
        refreshContainer(listArray);
    }

    function rightPop() {
        var targetElement = listArray.pop();
        alert(targetElement.innerHTML);
        refreshContainer(listArray);
    }

    function refreshContainer(listArray) {
        container.innerHTML = ‘‘;
        for (i in listArray) {
            container.appendChild(listArray[i]);
        }
    }
    var leftIn=document.getElementById("leftIn");
    var rightIn=document.getElementById("rightIn");
    var leftOut=document.getElementById("leftOut");
    var rightOut=document.getElementById("rightOut");
    var inputGet=document.getElementById("input

Get");

    leftIn.onclick=function(){
        var val=inputGet.value;
        leftPush(val);
    };
    rightIn.onclick=function(){
        var val=inputGet.value;
        rightPush(val);
    };
    leftOut.onclick=function(){
        leftPop();
    };
    rightOut.onclick=function(){
        rightPop();
    };

五、最终效果

技术分享

 

1.6 节点的增加与删除

标签:

原文地址:http://www.cnblogs.com/wuliwuli/p/5714823.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!