見琴:http://jsfiddle.net/csaltyj/P2sLa/CSS重要的似乎沒有jQuery中/ 3.X的Firefox工作
在Chrome中,這工作得很好,但在Firefox它沒有,併產生一個JavaScript警告。我知道!重要的並不是必需的,但我有一個大型的項目,它需要它,並導致Firefox中斷。有任何想法嗎?
見琴:http://jsfiddle.net/csaltyj/P2sLa/CSS重要的似乎沒有jQuery中/ 3.X的Firefox工作
在Chrome中,這工作得很好,但在Firefox它沒有,併產生一個JavaScript警告。我知道!重要的並不是必需的,但我有一個大型的項目,它需要它,並導致Firefox中斷。有任何想法嗎?
搜索帶來了a blog post explaining the "problem" 「jQuery的CSS重要」。
我會後一些額外的信息,但要長話短說,here's your solution:
$('#set-bg').click(function() {
$('#box').css('cssText', 'background: blue !important');
});
筆者指出:
這不是 大多數瀏覽器沒有按一個錯誤,但東西「T承認一個 需要,因爲內嵌樣式已經 不是用戶 沒有定義的最高優先級。 (除非你不希望 你的用戶改變他們如何查看你的網站 )。
請注意,使用cssText有一個缺點,你可能想用cssRules,而不是考慮
:
cssText將覆蓋的 特定元素的CSS。因此,您 將不得不重新聲明 的規則,該特定元素再次遍佈 。
與所有的說。請聽筆者的總結:
使用CSS重要的不是 明智的,因爲它可能會殺了你的web 可用性!此外,沒有 理由!重要的應該是作爲 聯樣式已經具有最高的優先級 。因此,你可能要重新考慮 考慮,可能買你的 用戶 後果後申請!請別忘了在 腳本。
'!important'在FF 3.X對我很好...您可以在這裏提供更多的代碼? – pixelbobby 2011-05-02 18:46:44
@ pixelbobby ...它在FF 4中不起作用,給出的錯誤是'警告:預期的價值結束,但找到'!'。解析'背景'的值時出錯。聲明下降了。「 – Hristo 2011-05-02 18:48:13
你能解釋爲什麼它在你的項目中是」需要「的嗎?它確實沒有任何意義,因爲元素樣式總是勝過樣式表樣式(據我所知)。 – Pointy 2011-05-02 18:48:17