请参阅小提琴:http://jsfiddle.net/csaltyj/P2sLa/
在Chrome中,这样可以正常使用,但在Firefox中却没有,并产生Javascript警告。我知道这里不需要!important,但是我有一个需要的大型项目,这导致Firefox崩溃。有什么想法吗?
答案 0 :(得分:11)
搜索“jquery css important”提出a blog post explaining the "problem" 我将发布一些其他信息,但总而言之,here's your solution:
$('#set-bg').click(function() {
$('#box').css('cssText', 'background: blue !important');
});
作者声明:
这不是一个错误,而是一些错误 大多数浏览器不承认 因为内联风格已经有了 除用户之外的最高优先级 定义的。 (除非你不想要 您的用户可以更改他们查看您的内容 网站)。
请注意,使用cssText有一个缺点,您可能需要考虑使用 改为使用cssRules:
cssText将覆盖css 那个特殊的元素。因此,你 将不得不重新宣布该规则 这个特殊元素到处都是 试。
尽管如此。请听听作者的总结:
在CSS中使用!important不是 是可取的,因为它可能会杀死你的网络 可用性。此外,没有 之所以重要,应该用作 内联样式已经是最高的 优先。因此,您可能想要 重新考虑申请!重要的是你的 思考后的脚本 可能会给你带来的后果 用户。