我有一个jQuery AJAX功能轮询数据库服务器,以查看是否有新的记录,以识别插入的DOM元素。如果是这样,它使用以下插入在记录列表的顶部新记录(含唯一ID):如何获得IE6通过jQuery insertAfter()
$(new_records).insertAfter('#div_at_top_of_page');
这工作得很好,即使是在IE6。
但是,每个插入的记录都有一个辅助ajax函数来获取有关该记录的更多详细信息,并将其插入插入元素中的元素。
这工作正常在每个浏览器除了 IE6。 IE6执行辅助ajax函数(我已经证实了这一点),但不插入内容。它静静地失败,没有抛出任何错误。
我假设这是因为IE6不看DOM中插入的元素;但无论如何,我会很感激任何关于如何解决这个问题的想法。
编辑2 - 我在下面的第一次编辑中添加的代码似乎工作正常。问题是IE6不知道$('#inserted_data_' + log_id)
存在。这是使用上面的.insertAfter()
方法插入的元素。
编辑 - 用于插入辅助数据的代码:
$('.printout').live('click', function(ev) {
ev.preventDefault();
var ajaxUrl = $(this).attr('href');
$.ajax({
url: ajaxUrl,
cache: true,
dataType: 'json',
success: function(j, textStatus) {
var printout = j.printout;
alert(printout); // sanity check
var log_id = ajaxUrl.replace('/api/fetch_data/printout/', '');
$('#inserted_data_' + log_id).html(printout); // problematic line
}
});
return false;
});
正如我所指出的,这个功能执行正常,由// sanity check
证实,但行注意到上面注释// problematic line
不实际上将数据写入'#inserted_data_' + log_id
元素。
提供一些代码来说明如何和何时第二Ajax调用发生,所以我们可以评论... – 2010-02-10 13:54:14