如何通过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);
}
});
});
我可以毫无问题地更新。只有计数处于不确定状态
答案 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()
来处理动态计数。