这是我的代码:
$("#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;
}
答案 0 :(得分:1)
看起来你有多个相同的ID。在某些情况下,IE不会像其他浏览器那样容忍这种情况......它是无效的HTML。您需要为元素提供唯一的ID。
此外,您可以缩短选择器,因为ID应该是唯一的:
$("#"+response.currenttab+"div").append(divHtml);