Javascript 如何在使用jquery向列表添加新的后添加计数器

Javascript 如何在使用jquery向列表添加新的后添加计数器,javascript,jquery,Javascript,Jquery,在列表顶部添加新行之后,我尝试实现一个动态计数器来添加到列表中。 代码工作不正常,因为它计数错误,例如,如果我们有此列表 A. B C 我会加上D,而不是这样 D A. B C 是这样做的吗 D A. B C 如果在底部添加新行但不起作用,我想删除最后一行 有人知道为什么吗 这是我的密码 html是一个变量,它保存我要预先添加的内容 $(".il_admin-"+id).prepend(html).slideDown("slow");​ var i = GetURLParameter("pag

在列表顶部添加新行之后,我尝试实现一个动态计数器来添加到列表中。 代码工作不正常,因为它计数错误,例如,如果我们有此列表

A. B C 我会加上D,而不是这样

D A. B C 是这样做的吗

D A. B C 如果在底部添加新行但不起作用,我想删除最后一行 有人知道为什么吗

这是我的密码

html是一个变量,它保存我要预先添加的内容

$(".il_admin-"+id).prepend(html).slideDown("slow");​

var i = GetURLParameter("paged");
var count = (i*10)-10;
jQuery(".il_admin li").each(function(i) {
i = count + i;
var text_attreibute = $(this).find(".il_admin_raw_count");
$(text_attreibute).html(i+1);
});

var size= $('.il_admin li').size();

if (size >10)
{
var last_row = $('.il_admin li').last().attr('class');
$(last_row).remove();
}
由于使用长轮询,因此必须在列表更改时绑定一个listenner以刷新索引。试试这个:

jQuery(document).on("change", ".il_admin", function(i, list_li) {
    // This will be call each time your DOM inside your .il_admin change (= you have added a new line)

    $(list_li).each(function(j, li) {
        var text_attreibute = $(li).find(".il_admin_raw_count");
        var output = parseInt($(li).index())+1 + '. ' + text_attreibute;
        if (output != $(li).html()) { // We change the content only if the index has changed like this we avoid infinit loop because we will change the html again and it could call our listener again
            $(li).html(output);
        }
    }

}).

为了工作,解决办法是改变这条线

$.il_admin-+id.prependhtml.slideDownslow;​

对此

$(".il_admin-"+id).parent().prepend(html).slideDown("slow");​

我按页面输入的是url上的页码。例如,如果分页为1,则第一个li将为1,如果分页为2,则第一个li将为11,依此类推。我已经有一个值1,然后你将它增加1。请看一看!这个是正确的i=计数+i;因为如果我是1,那么count=1*10=10,然后count=10-10=0。然后i=0+0=0。所以我在.html上添加了1。如果你加载这个网站,这个方法很好用。但是,如果您尝试预先结束,然后执行代码来计算包含新行的行数,则无法正确计算新行数。首先添加2,然后添加1,3,4…您有一个列表,您想对其中的内容进行编号吗?当ol li{list style type:decimal;}会自动为您执行此操作时,您为什么要使用JavaScript?或者甚至是ul li,或者简单地说是具有相同CSS规则的li?使用此解决方案,如果我添加一个新行,那么我有1。D 1。A 2。B 3。C我尝试打印parseInt$this.index+1,它是正确的,但在网站上没有以正确的顺序显示它,您必须调用$this.htmlparseInt$this.index+1;不仅是$document.ready;但每次用户也添加一行。这样你会看到正确的顺序。这就是我正在做的。基本上是$.il_admin-+id.prependhtml.slideDownslow;​ 在if语句中,然后在if语句之外,我有代码重新计算列表,但仍然不工作。演示如何调用您的重新计算。有监听器还是什么的?基本上是$.il_admin-+id.prependhtml.slideDownslow;​ 在if语句中,ifcondition{}else{$.il_admin-+id.prependhtml.slideDownslow;​} 然后,我会让每个人重新编号每个李
$(".il_admin-"+id).parent().prepend(html).slideDown("slow");​