有一些问题正确地从元素中获取操作数据。 互联网上的任何地方似乎都无法用简单的答案来涵盖这样一个简单的问题。请帮忙。jQuery的问题html()
我已经操纵的元素与返回的Ajax请求:
$("#last_comment_added").html("1457856458")
现在我的页面上的功能:
jQuery(document).ready(function($) {
var post_slug = $("#post_slug").html();
var last_comment_added = $("#last_comment_added").text();
if (post_slug && last_comment_added) {
setInterval(function() {
$.ajax({
type: "POST",
url: "ajax_comments.php",
data: {
"task": "updates",
"post_slug": post_slug,
"last_comment_added": last_comment_added
},
cache: false,
success: function(html) {
eval(html)
}
});
}, 10000);
}
});
我从元件得到的是旧数据,而不是新的阿贾克斯“1457856458”数据。
请帮忙。
控制台中的任何错误?那为什么'eval(html)'挂在那里?记录到控制台,看看你是否得到正确的结果。 – 2014-10-17 15:06:32
没有错误。我的代码工作正常。问题是它返回OLD数据(最初加载页面时)而不是新数据(在ajax请求之后)。我怀疑这是没有更新的DOM。我想知道是否有更新DOM的方法。 – 2014-10-17 15:08:15
Ofcourse,只需要把你想要更新的整个html放在一个div中,然后使用'.html()'函数将'div'的内容更改为'success'函数中的新内容。 – 2014-10-17 15:12:26