我有这个ajax调用,也做了一些jquery,添加了一些html,并将ajax结果放入创建的html中。
$(document).on('click', '#ajaxcommentbutton1', function() {
var currentDiv = $(this).attr('group');
var pageValue = parseFloat($(this).attr('data'));
var newPage = pageValue + 1;
var newPageid = '#' + newPage;
$('div[data="' + currentDiv + '"] #commentsContainer > div').before("<div id='" + newPage + "'></div>");
$.ajax({url:"commentsajax.php",
type:'POST',
dataType:'text',
data: {id: currentDiv,
page: newPage},
success:function(result){
$('div[data="' + currentDiv + '"] ' + newPageid).html(result);
}});
$('div[data="' + currentDiv + '"] #commentsContainer > div:empty').remove();
$('button[group="' + currentDiv + '"]').attr('data', newPage);
});
夫妻问题:
jquery创建的第一个div未创建。 ajax正在完成它的工作并返回我想要的东西,但因为div没有被创建,所以它不会放在任何地方。
我不确定为什么必须使用.remove()
;
HTML:
<div id="somepost" data="1043670098507964416">Poster Name<br>
<img src="http://stuff/stuff" height="50px" width="50px"> Ben & Harley<br>
<video width="350" height="350" controls="" loop="">
<source src="http://stuff/stuff">
<object data="http://stuff/stuff" width="350" height="350"></object>
</video>
<br>FASTER! ??<br>17149 Likes 7117 Comments <br>
<button type="button" id="ajaxcommentbutton1" group="1043670098507964416" data="4">Load previous comments</button><br>
<div id="commentsContainer">
<div id="1">
<br>
<img> comment here<br>
<img> comment here<br>
<img> comment here<br>
</div>
</div>
</div>
测试:
1.评论remove()
;允许打印响应,偶然的事情,创建jquery创建的div的副本,并且还单击另一个帖子(加载完全差异的文章的差异集)有时可以工作,有时不会,通常像第3次点击后一样工作,从一些研究我认为它与事件处理程序和绑定??我只是学习jquery / ajax ..