1.6 节点的增加与删除

一、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.οnlοad=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();
    };

五、最终效果

 

转载于:https://www.cnblogs.com/wuliwuli/p/5714823.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值