jQuery html()在IE9中不能很好地工作

时间:2011-09-14 15:29:03

标签: javascript jquery

我使用jquery来请求数据,然后将它们填充到id为“mresholder”的表中,它在webkit和ff中工作,但它在IE中不能很好地工作。它会将这些数据附加在</table>后面 如何解决这个或者替代方法是什么?

for(i=0;i<length;i++)
{
   song=data.results[i];
   o=$('#mresholder').html();
   $('#mresholder').html(o+='<tr sid='+song.song_id+' aid='+song.album_id+'><td class="sname">'+song.song_name+'</td><td class="sartist">'+song.artist_name+'</td><td class="salbum">'+song.album_name+'</td></tr>');
};

2 个答案:

答案 0 :(得分:8)

“sid”,“aid”不是有效的HTML属性。尝试data-sid,data-aid

另外,改变

 o=$('#mresholder').html();
 $('#mresholder').html(o+='<tr sid='+song.song_id+' aid='+song.album_id+'><td class="sname">'+song.song_name+'</td><td class="sartist">'+song.artist_name+'</td><td class="salbum">'+song.album_name+'</td></tr>');

$('#mresholder').append('<tr data-sid='+song.song_id+' data-aid='+song.album_id+'><td class="sname">'+song.song_name+'</td><td class="sartist">'+song.artist_name+'</td><td class="salbum">'+song.album_name+'</td></tr>');

(。html()to .append())

答案 1 :(得分:3)

请尝试使用append

$('#mresholder').append('<tr sid='+song.song_id+' aid='+song.album_id+'>'...);

另外,检查您要添加的HTML,如果无效,则在向表中添加HTML时IE会出现问题。尝试@genesis'建议,并将sidaid更改为data-siddata-aid