2012-12-07 55 views
4

所以,在我的樣式表中,我有一個規則中的屬性與myElement匹配,它使用!important標誌。如何通過DOM設置!important標誌的CSS屬性?

然後,在腳本中,我需要調整myElement的屬性。我正在使用的代碼什麼也不做:

var myElement = document.getElementById('myElement'); 
myElement.style.property = 'newValue'; 

這扔我一個循環,因爲雖然什麼也沒有明顯我的網頁上發生的事情,該元件即使在Chrome的元素督察element.style新的屬性值顯示。所以我花了一段時間才弄清楚,但是後來我發現我還必須將!important標誌置於newValue設置中。 有沒有人知道如何以編程方式做到這一點?

+1

這樣展開了'important'戰爭......真正的解決辦法是不使用它! –

+3

這個問題很好的描述了爲什麼在你的代碼的任何地方使用'!important'通常是一個糟糕的主意。 – SDC

回答

12

在這裏你去:

myElement.style.setProperty('property', 'newValue', 'important'); 

現場演示:http://jsfiddle.net/mJHEf/

+1

+1。但是,也應該注意,對於IE,它需要IE9或者'setProperty()'方法才能按預期工作。 – inhan

相關問題