jquery的removeClass,addClass问题

发布于 2024-10-08 08:35:22 字数 677 浏览 5 评论 0原文

我有 2 种样式:

.imagebox_empty{
    padding:2px 2px 2px;
    border:1px dotted #E5E5E5;
    width:130px;
    height:130px;
    background:url('/images/misc/file_important.png') no-repeat;

}
.imagebox_full{
    padding:2px 2px 2px;
    border:1px solid #E5E5E5; !important;
    overflow:auto;
}

我使用 jquery 在 div 中切换这些类:

<div id="companyLogo" class="imagebox_full"></div>
$("#companyLogo").removeClass("imagebox_full").addClass("imagebox_empty");

它工作正常,除了宽度和高度。我已经在 Chrome 和 FF 上测试过了。两者的工作原理相同。边框、背景和内边距发生变化,但尺寸不变。

有谁知道这是否是 jQuery 方面的限制?或者浏览器在样式和尺寸之间交换时是否存在问题?

I have 2 styles:

.imagebox_empty{
    padding:2px 2px 2px;
    border:1px dotted #E5E5E5;
    width:130px;
    height:130px;
    background:url('/images/misc/file_important.png') no-repeat;

}
.imagebox_full{
    padding:2px 2px 2px;
    border:1px solid #E5E5E5; !important;
    overflow:auto;
}

I am using jquery to switch these classes in a div:

<div id="companyLogo" class="imagebox_full"></div>
$("#companyLogo").removeClass("imagebox_full").addClass("imagebox_empty");

It works fine, except the width and height. I've tested this on Chrome and FF. Both work the same. The border, background, and padding change, but not the dimensions.

Does anyone know if that's a limitation on jQuery's side? Or do browsers have issues swapping between styles and honoring dimensions?

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

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

发布评论

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

评论(2

小苏打饼 2024-10-15 08:35:22

我无法用最基本的页面重现问题(见下文),所以也许这是其他一些覆盖高度和宽度的 CSS 的问题?

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
    $("#companyLogo").removeClass("imagebox_full").addClass("imagebox_empty");
});
</script>
<style type="text/css">
.imagebox_empty{
    padding:2px 2px 2px;
    border:1px dotted #E5E5E5;
    width:130px;
    height:130px;
    background:url('/images/misc/file_important.png') no-repeat;
}
.imagebox_full{
    padding:2px 2px 2px;
    border:1px solid #E5E5E5; !important;
    overflow:auto;
}
</style>
</head>
<body>
<div id="companyLogo" class="imagebox_full">
</body>
</html>

I could not reproduce the problem with the most basic page (see below), so perhaps it's an issue with some other CSS that's overriding the height and width?

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
    $("#companyLogo").removeClass("imagebox_full").addClass("imagebox_empty");
});
</script>
<style type="text/css">
.imagebox_empty{
    padding:2px 2px 2px;
    border:1px dotted #E5E5E5;
    width:130px;
    height:130px;
    background:url('/images/misc/file_important.png') no-repeat;
}
.imagebox_full{
    padding:2px 2px 2px;
    border:1px solid #E5E5E5; !important;
    overflow:auto;
}
</style>
</head>
<body>
<div id="companyLogo" class="imagebox_full">
</body>
</html>
饮惑 2024-10-15 08:35:22

似乎我有一些额外的样式,很可能是从某个地方的另一个 jquery 插件生成的。

我可以通过 firebug 看到尺寸样式被取消。
看来我要去钓鱼了是的,

谢谢大家更深入地研究它!如果你没有核实的话,我不会看得这么彻底。

Seems I have some extra styles, most likely generated from another jquery plugin somewhere.

I can see the dimension styles are getting cancelled, via firebug.
Looks like I'm going fishing. yay

thanks guys for looking more into it! I wouldn't have looked so thoroughly if you hadn't verified on your end.

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