我正在尝试使用类似
的jQuery在css属性中添加!important$("tabs").css('height','650px;!important');
但是!重要没有效果。如何包含!在jquery中很重要?
答案 0 :(得分:142)
显然可以在jQuery中执行此操作:
$("#tabs").css("cssText", "height: 650px !important;");
答案 1 :(得分:6)
我用以下方法解决了这个问题:
inputObj.css('cssText', inputObj.attr('style')+'padding-left: ' + (width + 5) + 'px !IMPORTANT;');
所以没有内联样式丢失,最后一个覆盖第一个
答案 2 :(得分:5)
还可以添加更重要的属性:
inputObj.attr('style', 'color:black !important; background-color:#428bca !important;');
答案 3 :(得分:2)
如果您需要让jquery对多个项目使用!important,这就是您的处理方式。
例如将img
标签的最大宽度和最大高度分别设置为500px
$('img').css('cssText', "max-width: 500px !important;' + "max-height: 500px !important;');
答案 4 :(得分:1)
var tabsHeight = 650;
$("tabs").attr('style', 'height: '+ tabsHeight +'px !important');
OR
#CSS
.myclass{height:650px !important;}
然后
$("tabs").addClass("myclass");
答案 5 :(得分:1)
在那些需要使用jquery设置!important属性的情况下,这是我构建的一个插件,可以使用它。
$.fn.important = function(key, value) {
var q = Object.assign({}, this.style)
q[key] = `${value} !important`;
$(this).css("cssText", Object.entries(q).filter(x => x[1]).map(([k, v]) => (`${k}: ${v}`)).join(';'));
};
$('div').important('color', 'red');
答案 6 :(得分:0)
例如,如果您确实需要覆盖其中具有!important规则的css,则在我最近遇到的情况下,覆盖一个wordpress主题需要!important scss规则才能破坏该主题,但是由于我正在编译代码使用webpack和(我认为这是为什么-)我的CSS在转译的javascript之后出现在链中,您可以在样式表中添加一个单独的类规则,该类规则会覆盖级联中的第一个!important规则,并切换较重的加权类,而不是动态调整CSS。只是一个想法。
答案 7 :(得分:-1)
使用jQuery修改CSS时不需要!important
,因为它直接修改了DOM中元素的style
属性。仅在样式表中需要!important
以禁止在较低级别覆盖特定样式规则。直接修改style
是您可以去的最低级别,因此!important
没有任何意义。