如果有使用!important
的CSS规则,有没有办法删除!important
规则,以便我可以使用JS或jQuery进一步更改下游样式?
theirs.css
div.stubborn { display: none !important; }
mine.js
$('.stubborn').fadeIn(); // won't work because of !important flag
不幸的是,我无法控制应用!important
规则的样式,所以我需要一个变通方法。
发布于 2012-08-10 03:48:25
不幸的是,如果不在包含的theirs.css
下面使用!important
作为内联/内部样式,则无法覆盖!important
。
您可以定义!important
样式并将其添加到.stubborn
中,然后调整不透明度。请看下面的内容:
CSS:
div.hidden_block_el {
display: block !important;
opacity: 0;
}
JS:
$('.stubborn')
.addClass('hidden_block_el')
.animate({opacity: 1});
演示: http://jsfiddle.net/jjWJT/1/
备用方法(内联),
$('.stubborn')
.attr('style', 'display: block !important; opacity: 0;')
.animate({opacity: 1});
发布于 2012-08-10 03:58:08
只需为任何有此问题的图像添加一个style=""
标记,希望它们都有某种定义类,这样做起来很容易。
$('div.stubborn').attr('style', 'display: inline !important;');
发布于 2012-08-10 03:45:41
您需要创建一个新类来应用淡入淡出。
CSS:
div.stubborn { display: none !important; }
div.stubborn.fade-ready { display: block !important; opacity: 0; }
JS:
$('.stubborn').addClass('fade-ready').animate({opacity: 1}); //to show
$('.stubborn').fadeOut(function() {$(this).removeClass('fade-ready');}); //to hide
演示
https://stackoverflow.com/questions/11890739
复制相似问题