对于td元素,IE7中的Jquery addClass函数失败

时间:2010-07-18 12:44:51

标签: javascript jquery internet-explorer-7 addclass

对于以下HTML:

<td class="width2 padLeft" id="loading_45">&nbsp;</td> 

以下JQuery:

$('#loading_45').addClass('loading');

使用以下css定义:

td.loading
{
    background-image:url("../images/icon_loading_circle.gif");
    background-position:left center;
    background-repeat:no-repeat;
    height:auto; 
    position:absolute;
    text-align:center;
}

不会导致背景图像出现在IE7中(在FF中正常工作)

有没有人知道我做错了什么?

正如Pointy所说,问题在于css的位置:绝对;应该删除定义 谢谢大家回答这么快

2 个答案:

答案 0 :(得分:1)

我确信“addClass”是正在工作,因为它正在将该类添加到元素中,如果(正如@Gaby所说)你在正确的时间进行它。由于它适用于Firefox,你可能就是。

我怀疑问题可能只是你的样式表让IE7吓坏了。将“position:absolute”放在表格单元格上可能会导致问题,例如使表格单元格完全呈现在错误的位置。当我尝试它时,表格单元格总是在页面的左上角呈现,即使样式表没有指定“顶部”或“左”。

尝试使用硬编码到表格单元格的类测试您的页面,看看会发生什么。

答案 1 :(得分:0)

确保在使用

加载DOM后运行代码
$(function(){
   $('#loading_45').addClass('loading');
});

$(document).ready(function(){
   $('#loading_45').addClass('loading');
});

还要确保元素的宽度/高度适合背景图像。

演示:http://www.jsfiddle.net/9PZZB/2/