使用jquery修改和删除css类属性

ztmd8pv5  于 2021-09-23  发布在  Java
关注(0)|答案(3)|浏览(297)

我正试图搬走这片土地 min-width 从班上 ui-widget-content 并尝试从中修改属性 width: auto !important;width: 250px; 上课 ui-dialog .
请注意,这两项更改只应应用于 childDiv 以及类的实现 ui-widget-contentui-dialog 应该在其他地方保持不变。
任何建议都将不胜感激。

<div class="ui-widget-content ui-dialog">
    <div id="childDiv">
        ...
    </div>
    ...
</div>
.ui-widget-content {
    min-width: 360px;
    ...
}

.ui-dialog {
    width: auto !important;
    ...
}

我的尝试(没有成功):-
删除:

$("#childDiv").parent('.ui-widget-content').removeAttr("min-width");

修改:

$("#childDiv").parent('.ui-dialog').css({"width: 250px"});
jbose2ul

jbose2ul1#

我也遇到了和你相似的情况。首先,不能使用jquery更改css类本身。其次,我将使用新类覆盖这些参数,并且易于控制。对于示例中的要求,我将这样做:
添加新类:

.ui-widget-content-change {
      min-width:0px !important;
 }
.ui-dialog-change {
      width: 250px !important;
}

然后应用jquery

$("#childDiv").parent().addClass('ui-widget-content-change');
 $("#childDiv").parent().addClass('ui-dialog-change');

当您不想使用它们时,只需删除这些类即可。

jckbn6z7

jckbn6z72#

你有两个问题。首先 min-width 不是属性,而是css属性,所以调用 removeAttr() 没有效果。要重置属性,需要使用 css() 方法。
第二个问题是你如何使用 css() . 您可以向它提供一个对象,但是您在该对象中使用的语法无效。您应该提供单独的键和值,而不是单个字符串。或者,您可以提供属性的键/值以设置为单独的参数。
要更正此问题,请尝试以下操作:

let $childDiv = $("#childDiv")
$childDiv.parent('.ui-dialog').css('width', '250px');
$childDiv.parent('.ui-widget-content').css('min-width', 'auto');

更多关于使用 css() 可以在jquery文档中找到

von4xj4u

von4xj4u3#

不能使用jquery修改css文件的内容。使用jquery,您只能修改 styles -元素的属性。 $("#childDiv").parent('.ui-dialog').css('width', '250px'); 加上 style="width: 250px" 给父母 divui-dialog 班级。但是,这不会更改宽度,因为您已在css文件中将宽度标记为重要。

相关问题