在ul中添加来自ajax的li后,在ul中计算li

时间:2013-01-21 04:41:16

标签: jquery count html-lists

如何通过ajax添加更多li后,如何计算ul中的li数?

我尝试了$("#mylist li").size(),但它没有计算新添加的。{1}}。

我知道有这个选项,$(returnedHTML).find('li').length但是我想要现有和新添加的总数

CODE: HTML

<ul id="mylist">
   <li> item 1</li>
   <li> item 2</li>
</ul>

jquery的:

function updateNotificationCount(){    
    var nCount=$("#mylist li").length;      
        $("#Counter").html(nCount);     
    }

 $(document).ready(function(){
   $.ajax({
        type: "GET",
        url: "../scripts/getNotifications.php",
        data: "",

        success: function (data) {

              $('#mylist').append(data);
              updateNotificationCount();


        },
        error: function (xhr, ajaxOptions, thrownError) {alert("error");
            alert(xhr.statusText);
            alert(xhr.responseText);
            alert(xhr.status);
            alert(thrownError);
        }

        });
});

我可以毫无问题地更新。只有计数处于不确定状态

2 个答案:

答案 0 :(得分:2)

使用ajax添加$("#mylist li").length后,只需使用<li>

答案 1 :(得分:0)

你可以试试这个,

$( "#mylist li" ).ajaxComplete(function(){
  var nCount=$("#mylist li").length;      
  $("#Counter").html(nCount);
});

您的li被动态添加到DOM中,因此可以在您的ajax调用完成时尝试。您确实在成功时调用updateNotificationCount(),但如果这似乎不起作用,那么您可以使用live()delegate()来处理动态计数。