如何让JQuery在IE 7和8中附加工作?

时间:2010-03-11 11:17:17

标签: jquery tabs jquery-ui-tabs

这是我的代码:

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

divHtml具有html li标签

它在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;
}

1 个答案:

答案 0 :(得分:1)

看起来你有多个相同的ID。在某些情况下,IE不会像其他浏览器那样容忍这种情况......它是无效的HTML。您需要为元素提供唯一的ID。

此外,您可以缩短选择器,因为ID应该是唯一的:

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