0

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

我试过$("#mylist li").size()了,但它不计算新添加的。

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

代码: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);
        }

        });
});

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

4

2 回答 2

2

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

于 2013-01-21T04:42:54.107 回答
0

你可以试试这个

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

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

于 2013-01-21T05:12:19.273 回答