zoukankan      html  css  js  c++  java
  • 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{
            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();
        };

    五、最终效果

  • 相关阅读:
    线程,协程
    python魔法方法详解
    Sorted方法排序用法
    time模块
    Haroopad安装与配置: Linux系统下最好用的Markdown编辑器
    C++ Primer第五版答案
    Ubuntu14.04安装有道词典(openyoudao)
    Ubuntu14.04下Sublime Text 3解决无法输入中文
    OpenLTE安装教程
    GNU Radio: Overview of the GNU Radio Scheduler
  • 原文地址:https://www.cnblogs.com/wuliwuli/p/5714823.html
Copyright © 2011-2022 走看看