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

五、最终效果

时间: 2024-08-01 10:45:59

1.6 节点的增加与删除的相关文章

链表节点的增加和删除

struct ListNode { int m_nValue; ListNode* m_pNext; }; //增加节点 /*第一个参数是一个指向指针的指针.当我们往一个空链表中插入一个节点时,新插入的节点 就是链表的头指针.由于此时会改动头指针,因此必须把pHead参数设为指向指针的指针*/ void addToTail(ListNode** pHead, int value) { ListNode* pNew = new ListNode(); pNew->m_pNext = NULL; p

使用jquery增加、删除html文档节点

jquery相对亦js来说在对DOM文档操作来说非常方便,本文主要讨论使用jquery对html文档中节的删除 如上图,因为是急救电话数量是不确定的,因此需要能够灵活地添加和删除,因此就需要用jquery来对节点进行操作. 代码在附件中,可以正常执行,这里只是对节点的增加和删除中部分代码,其他类似操作可以在此基础上进行修改操作既可以实现. 主要代码如下所示,主要是最后的jquery代码注意要引用jquery才可正常执行的: <html><head><meta http-equ

自学总结redis第四部分(集群搭建以及增加和删除节点)

十六.redis集群 参考网站"https://redis.io/topics/cluster-tutorial" 16.1集群搭建 #下述是在一台机器模拟六个节点,3主3从 [[email protected] ~]# cd /application/ [[email protected] application]# cd redis [[email protected] redis]# mkdir redis-cluster [[email protected] redis-clu

JavaScript之DOM-5 增加、删除和替换节点(创建节点、插入节点、删除和替换节点)

一.创建节点 创建元素 - 使用如下方法可以创建一个新的元素节点: - document.createElement('元素名'); 创建文本节点 - 使用如下方法可以创建一个新的元素节点: - document.createTextNode('text'); 创建注释 - 使用如下方法可以创建一个HTML注释节点: - document.createComment('comment'); 创建文档片段 - 使用如下方法可以创建一个文档片段: - document.createDocumentF

Oracle 增加修改删除字段

添加字段的语法:alter table tablename add (column datatype [default value][null/not null],-.); 修改字段的语法:alter table tablename modify (column datatype [default value][null/not null],-.); 删除字段的语法:alter table tablename drop (column); 添加.修改.删除多列的话,用逗号隔开. 使用alter

AngularJS实现数据列表的增加、删除和上移下移等功能实例

转: http://www.jb51.net/article/91991.htm 这篇文章给大家分享了AngularJS循环实现数据列表的增加.删除和上移下移等基础功能,对大家学习AngularJS具有一定的参考借鉴价值,有需要的朋友可以看看. 效果图 实例代码 <!DOCTYPE html> <html lang="en" ng-app="myapp" ng-controller="myCtrl"> <head&g

linux命令4 find、三个时间属性、硬链接和软连接、用户名和密码文件、增加和删除用户组、usermod、su、sudo

find搜索命令 其他搜索命令如下: [[email protected] 333]# which ls alias ls='ls --color=auto' /bin/ls [[email protected] 333]# echo $PATH /usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/mysql/bin:/usr/local/jdk1.6.0_23/b

父兄子节点的获取及子节点的添加、删除、克隆操作

第一.父兄子节点的获取 1.父节点的获取 某节点的parentNode属性值即为该节点的父节点.示例: <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <body> <div id="father"> <div id="son1"></div> </

UITableView增加和删除、移动

复习一下: 1.在控制器上添加一个UITableView,  暂时该UITableView控件变量名命名为为tableView, 设置控件代理,实现控制器的UITableViewDataSource, UITableViewDelegate协议: 2.tableView控件的editing属性默认是NO, 并且UITableViewCell默认情况下没有删除和增加功能. 实现代理方法 - (void)tableView:(UITableView *)tableView commitEditing