我的jQuery代码遇到了一个小问题:
function afterVoting(id, votes, direction) {
$('.votebtn').each(function(i,o) {
if($(this).data('fbid') == id) {
$(this).parent().parent().find('.grlvotes').text(votes); // THIS DOESN'T UPDATE
$(this).shake(direction);
}
});
}
$(document).on('click', '.votebtn', function(e) {
var voted = $(this).data('fbid');
$.get('....', function(data) {
$('.votesself').text(data.idata.votes_self); // this works because its not modified element
afterVoting(voted, data.result.votes, data.result.vote ? {direction:'top'} : {direction:'left'});
});
});
执行摇动方法确定但前面的行不是。按钮在摇晃,但是' grlvotes'没有更新。 这是NEXT PAGE代码,并通过调用将内容添加到页面中:
$('.nextpage').click(function() {
if(page + 1 <= maxpage) {
$('#loading').show();
page++;
$.get('.....', function(data) {
showGirls(data);
maxpage = data.idata.maxpage;
$('.pagenum').text(page);
});
}
});
function showGirls(data) {
$('#loading').hide();
$('.grl').remove();
$(data.result).each(function(i,o) {
var girl = 'just long HTML code with data from AJAX call';
$('.grlwrapper').append(girl);
});
forceImageLoading();
}
这是HTML
<div class="grl">
<div class="data"> <b>VOTES</b> <span class="grlvotes">0</span>
</div>
<div class="data">
<div class="votebtn" data-fbid=""><b>VOTE</b>
<img src="img/like.png" alt="like" />
</div>
</div>
</div>
我有一个代码可以附加&#39; grl&#39;到主包装器(来自AJAX调用)。第一次加载页面时,&#39; grls&#39;由PHP加载,一切正常。但是当你点击下一页&#39;和&#39; grls&#39;由AJAX调用加载,它会出现问题。
任何想法,为什么不更新?
答案 0 :(得分:0)
如果您使用的是jquery&lt; = 1.7,请使用
$(element).live("click",function(){
});
而不是
$(element).click(function(){
});
用于jquery附加元素,如果使用jquery&gt; 1.7则使用
$(element).on("click",function(){
});