一个列表常用的方法

一个列表我要实现以下功能  

-----Jquery

1:点击li,弹出当前索引值

2:点击li中的删除button,删除当前li

3:动态添加li也要有这样的效果

/*append从后添加li*/
    $("#add").click(function(){
       // alert("后面添加li");
     $("#oUl").append("<li>append后面添加<button>删除当前li</button></li>");
        console.log($("#oUl").children().length)
    })
    /*从前面添加li prepend*/
    $("#addbefore").click(function(){
        //alert("前面添加li");
    $("#oUl").prepend("<li>prepend前面添加li<button>删除当前li</button></li>");
        console.log($("#oUl").children().length)
    })
    /*删除当前li*/
        
      $("#oUl").on("click","li",function(){
        //依次弹出li当前索引值
         alert($(this).index());

          var aLi = document.querySelectorAll("#oUl li");
          var len = aLi.length;
           for(var i=0;i<len;i++){
            //删除当前li
            $(aLi[i]).find("button").click(function(){              
                 alert("shanchu ");
                 $(this).parent().remove();
               });
            }
             
          })

-----JS

   function itemLi(){//页面初始化时li的删除事件
       var aLi = document.querySelectorAll("li");
       var len = aLi.length;
       for(var i=0;i<len;i++){
          itemChild(aLi[i],"button")
       }
   }

   function itemChild(data,tag){//动态新增的li的删除事件
    var oBtn = data.getElementsByTagName(tag)[0];
        oBtn.onclick = function(){
            return this.parentNode.remove(this.parentNode)
        }
   };
window.οnlοad=function(){
    var oUl = document.querySelector("ul");
    var oBtn = document.getElementById("add");
    itemLi();
     oBtn.onclick = function(){
        var aLi = document.createElement("li");
        aLi.innerHTML="sssss<button>删除当前li</button>";
        oUl.appendChild(aLi);
        itemChild(aLi,"button");
    }
    oUl.addEventListener("click",function(ev){
       deltChild(ev);
    },false)

    function deltChild(ev){
         var ev = ev || event;
        var target = ev.target || ev.srcElement;
        var aLi = document.querySelectorAll("li");
        var len = aLi.length;
        for(var i=0;i<len;i++){
            if(aLi[i]==target){
                alert(i+"---"+aLi[i].innerHTML);
            } 
             itemChild(aLi[i],"button")         
        }      
    }


<div class="oDiv">
    <ul id="oUl">
        <li>aaaa<button id="" >删除当前li</button></li>
        <li>bbb<button id="" >删除当前li</button></li>
        <li>ccca<button id="" >删除当前li</button></li>
        <li>ddda<button id="" >删除当前li</button></li>
    </ul>
    <button id="add" >添加li</button>    
    
  
</div>


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值