开发者社区> 问答> 正文

怎么动态增加元素顺序?

 <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++判定,所以并没有动态改变

展开
收起
小旋风柴进 2016-03-09 12:54:10 1655 0
1 条回答
写回答
取消 提交回答
  • 维护一个全局变量当前的节点数目nodeNume
    及一个nodeZero= 0;
    每次删除一个节点后,调用写的一个方法。方法里头做
    $(".aa li").each(function(key,item){}
    将节点从nodeZero依次赋值给id,最后循环完了
    nodeZero= 0;
    每次添加一个节点,就++nodeNume
    同时将此值赋值id

    2019-07-17 18:55:48
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
用计算和数据去改变整个世界 立即下载
动态、高效,蚂蚁动态卡片的内核逻辑 立即下载
重新定义计算的边界 立即下载