2010-03-11 35 views
0

這是我的代碼:如何讓JQuery在IE 7和8中追加工作?

$("#multimedia-tabs #"+response.currenttab+" #"+response.currenttab+"div").append(divHtml); 

凡divHtml有HTML標籤裏

它工作正常,在FF和Chrome,但不是在IE7和8 :(

試過可以在這個許多替代現場,但沒有喜悅!

請幫

$(document).ready(function() { 
    $("#next").live('click', function(){getMultimedia($(this).attr('page'), $(this).attr('url'));}); 
    $("#previous").live('click', function(){getMultimedia($(this).attr('page'), $(this).attr('url'));}); 
    $("a.page").live('click', function(e){getMultimedia($(this).attr('page'), $(this).attr('url'));}); 
}); 

function displayPage(response){ 
    response = JSON.parse(response); 
    $("#multimedia-tabs #"+response.currenttab+" #"+response.currenttab+"div").html(''); 
    var divHtml = ''; 
    for(var i in response.page){ 
      divHtml += '<li><a class="medialink" href="'+response.page[i].MedUrl+'">'+response.page[i].MedUrl+'</a></li>'; 
    } 
    divHtml += ''; 
    var target = response.currenttab+'div'; 
    $("#"+response.currenttab+"div").append(divHtml); 
    updatePageLinks(response.currentPage, response.currenttab); 
} 

function updatePageLinks(page, currenttab){ 
    $("#multimedia-tabs #"+currenttab+" #previous").attr('page', page-1); 
    $("#multimedia-tabs #"+currenttab+" #next").attr('page', page+1); 
} 

function getMultimedia(page,url){ 
    var url = url + "/page/" + page; 
    $.post(url, 
       {"format" : "json"}, 
       function(data){ 
         displayPage(data); 
       }, 'html'); 
    return false; 
} 
+0

後的HTML,否則這將是不可能的人提供幫助。 – Pointy 2010-03-11 13:26:32

回答

1

看起來你有多個相同的ID。在某些情況下,IE不會像其他瀏覽器一樣容忍這種情況......它是無效的HTML。你需要給你的元素唯一的ID。

另外,還可以再縮短你的選擇,因爲ID應該是唯一的:

$("#"+response.currenttab+"div").append(divHtml); 
+0

嗨尼克 感謝您的回覆。我嘗試縮短我的選擇器,並確保身份證不會重複。也檢查過HTML Tidy!它仍然不起作用! – Vishal 2010-03-11 11:29:28

+0

@Vishal - 在這種情況下,發佈html! – 2010-03-11 11:46:48

+0

有人可以幫忙嗎? – Vishal 2010-03-11 11:47:02

相關問題