我有一個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