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

发布于 2024-09-10 12:24:51 字数 586 浏览 10 评论 0原文

对于以下 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 中的position:absolute;定义应该被删除 感谢大家这么快的回复

For the following HTML:

<td class="width2 padLeft" id="loading_45"> </td> 

the following JQuery:

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

With the following css definition:

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

does not cause the background-image to appear in IE7 (works fine in FF)

Does anyone have an idea what I am doing wrong?

As Pointy noted the problem was in the css the position:absolute; definition should be removed
Thanks all for answering so fast

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

绻影浮沉 2024-09-17 12:24:51

我确信“addClass”正在工作,因为它会将类添加到元素中,如果(如@Gaby 指出)您在正确的时间执行此操作。由于它可以在 Firefox 中运行,因此您可能可以。

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

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

I'm sure that "addClass" is working, in that it's adding the class to the element, if (as @Gaby notes) you're doing it at the right time. Since it works in Firefox, you probably are.

I suspect that the problem might simply be that your stylesheet is freaking IE7 out. Putting "position: absolute" on a table cell is likely to cause problems, like making the table cell render in completely the wrong place. When I try it, table cells always render in the upper left corner of the page, even though the stylesheet doesn't specify a "top" or "left".

Try testing your page with that class hard-coded onto the table cell and see what happens.

清引 2024-09-17 12:24:51

加载 DOM 后运行

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

确保代码在使用或

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

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

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

make sure the code runs after the DOM is loaded using

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

or

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

Also make sure the elements has a width/height that will fit the background image.

Demo: http://www.jsfiddle.net/9PZZB/2/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文