怎么动态增加元素顺序?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

怎么动态增加元素顺序?

小旋风柴进 2016-03-09 12:54:10 923
 <html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>JQuery Test</title>
    <script src="../behappy/jquery-2.1.4.min.js" charset="utf-8"></script>
    <script >
        $(function() {
            n = 1;
                $(".click").click(function()
                {
                    $(".aa").append('<li class="bb" id="选项'+n+'">'+n+'------<span class="del">删除</span></li>');
                    n++;
                });
        });
        $(document).on('click', '.del', function() {
            var num = $(this).parent("li").html();
            num = parseInt(num);
            $(".aa li").each(function(key,item){
                if(key+1 > num){
                    $(item).html(num+'------<span class="del">删除</span>');
                    $(item).attr('id',"选项"+num);
                    num++;
                }
            });
            $(this).parent("li").remove();
        });
    </script>
</head>
<body>
<div class="click">Click</div>
<ul class="aa"></ul>
</body>
</html>

点击click增加li,点击删除能够更新li里面的数字与属性ID,但是增加后还是按照原来的顺序增加,请问该怎么改?
例:
1------删除
2------删除
3------删除
4------删除
5------删除
6------删除
7------删除
8------删除
9------删除
10------删除
点击删除能动态改变数字:
1------删除
2------删除
3------删除
4------删除
5------删除
6------删除
7------删除
再点击增加:
1------删除
2------删除
3------删除
4------删除
5------删除
6------删除
7------删除
11------删除
12------删除
13------删除
增加因为是n++判定,所以并没有动态改变

JavaScript
分享到
取消 提交回答
全部回答(1)
  • 小旋风柴进
    2019-07-17 18:55:48

    维护一个全局变量当前的节点数目nodeNume
    及一个nodeZero= 0;
    每次删除一个节点后,调用写的一个方法。方法里头做
    $(".aa li").each(function(key,item){}
    将节点从nodeZero依次赋值给id,最后循环完了
    nodeZero= 0;
    每次添加一个节点,就++nodeNume
    同时将此值赋值id

    0 0
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题
推荐课程