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();
        };

    五、最终效果

  • 相关阅读:
    easyui 如何为datagrid添加自定义列属性(如:width,align,editor)
    Oracle中如何修改已存在数据的列名的数据类型
    web 表单方式上传文件方法(不用flash插件)
    easyui datagrid怎么动态获取表头的列名及显示名称
    如何解决“HttpException (0x80004005): 超过了最大请求长度”问题
    oracle中“ORA-00060: 等待资源时检测到死锁” 或存储过程编译卡死 解决方法
    Chosen v1.8.7 动态添加下拉选项
    【转发】vue v-for循环的用法(索引,键值)
    Vue Select默认选择项设置方法
    Vue内部使用setInterval轮询数据,对象数据重新赋值后再次渲染数据
  • 原文地址:https://www.cnblogs.com/wuliwuli/p/5714823.html
Copyright © 2011-2022 走看看