在一个页面上,我正在使用jQuery UI自动完成功能,它会创建相当恼人的内联样式,例如将生成的ul设置为width:window.width。这弄乱了我的风格,至少在我的口味下,完全没用。
除了“!important”之外,是否有任何优雅的方式摆脱这些内联样式?
编辑:
我建立了一点jsfiddle for my problem。
正如您在键入字符时所看到的那样,ul被设置为具有完整的窗口宽度,这是内联应用的。我甚至尝试了width: initial!important
关于那个不起作用的ul。
但是,我在小提琴中想通了,当我加载默认的jQuery UI主题时,它看起来很好。
但是在主题滚轮中没有选择天气,或者你不希望你的uls有完整的窗口宽度。
答案 0 :(得分:2)
只需删除样式属性,然后重新添加(如果需要它为空)
function reset(this)
{
$(this).removeAttr('style');
$(this).attr('style','');
}
答案 1 :(得分:1)
内联样式具有最高优先级,具有内联样式的元素将忽略在css文件中声明的任何匹配样式。
如果你只想用css来做,那么唯一的选择就是用!important
定义css来覆盖它。
或使用JS解决方案。
$('element').removeAttr('style');
但我会说使用css解决方案是最好的。
答案 2 :(得分:0)
您还可以使用以下脚本将您自己的css设置为默认的内联样式
<script>
$(document).ready(function(){
$("Your-class").css("any-proprty", "value");
});
</script>