2017-02-26 56 views
0

即使值不正確,我也需要獲取CSS屬性的原始值。如何在JavaScript中獲取不正確的CSS屬性值?

var el = document.getElementById('value'); 
 
var style = window.getComputedStyle(el); 
 
el.insertAdjacentText('afterbegin', style.getPropertyValue('color'));
#value { 
 
\t color: foo; 
 
}
<p> 
 
\t Property <code>color</code> value (should be <em>foo</em>): <code id="value"></code> 
 
</p>

在上面我用foo作爲color財產,這顯然是不正確的值的代碼 - 有一個與該名稱的顏色,也不是接受的顏色格式。但是,當我在JavaScript中讀取該值時,得到rgb(0, 0, 0)而不是foo

我想獲取原始值,因爲它出現在樣式表中。我怎樣才能做到這一點?

http://codepen.io/xerif/pen/NpqKBO/

+2

如果屬性值是無效的,將不會被瀏覽器渲染引擎來設置,因此不能在DOM – charlietfl

+0

訪問你爲什麼連想這個?它背後的大目標是什麼? – niceman

回答

0

你有2個獨立的問題

首先,有許多不同的格式來設置顏色,但瀏覽器將只返回一個格式返回甚至可能不是一致的跨瀏覽器getComputedStyle .The格式。例如,一個瀏覽器可能返回rgb和另一rgba

另一種是,當在CSS規則提供了一個無效的值將不會被瀏覽器渲染引擎設置,因此不是在DOM訪問。

你所要求不能做