真的不确定这个。
我有一个加载更多数据的ajax调用。这工作正常,但我正在创建一个功能,一旦没有更多的数据删除按钮。
所以,在加载的php页面上......以及拥有数据我还有一个包含查询行数的div。
所以在loadmorebuilds.php我有:
// a query that just returns a set of results from the DB. These are just echo'd into divs.
<div id='countvar'><?php echo $isMore ?></div>
这是在php loadmore页面。
然后整个ajax调用就是这样:
$(document).ready(function(){
var pageIndex = 1;
$('#loadmorebuilds-div').click(function() {
$('#buildcontainer').imagesLoaded( function(){
$.ajax({
url: 'includes/loadmorebuilds.php?type=trending&pageIndex=' + pageIndex,
success: function(html) {
var el = jQuery(html);
var rowCount = $("#countvar").html();
jQuery("#buildcontainer").append(el).masonry( 'reload' );
$("#loadmorebuilds-div").stop().fadeOut();
pageIndex++;
$("#buildcontainer").masonry();
alert(rowCount);
}
});
});
});
});
问题是,我认为
var rowCount = $("#countvar").html();
只是检查当前文档中有一个名为'countvar'的div。所以即使有这个id的新div被发送回来,它只取第一个,所以如果该div的内容为'8'我将永远显示出来。
我的问题是......
如何检查名为'countvar'的div的返回数据?
答案 0 :(得分:0)
就像您观察到的那样,您正在选择页面上的元素。您需要在返回的html中找到该元素,但要创建一个对象,请创建一个包含它的对象。
success: function(html) {
var el = $('<div>').html(html);
var rowCount = el.find("#countvar").html();