我需要获取CSS属性的原始值,即使该值不正确。
var el = document.getElementById('value');
var style = window.getComputedStyle(el);
el.insertAdjacentText('afterbegin', style.getPropertyValue('color'));

#value {
color: foo;
}

<p>
Property <code>color</code> value (should be <em>foo</em>): <code id="value"></code>
</p>
&#13;
在上面的代码中,我使用foo
作为color
属性的值,这显然是不正确的 - 该名称没有颜色,也不接受颜色格式。但是,当我在JavaScript中读取该值时,我得到rgb(0, 0, 0)
而不是foo
。
我希望获得原始值,因为它出现在样式表中。我怎样才能做到这一点?
答案 0 :(得分:0)
您有2个单独的问题
首先,有许多不同的格式来设置颜色,但浏览器只返回getComputedStyle
的一种格式。返回的格式甚至可能不是跨浏览器的一致。例如,一个浏览器可能会返回rgb
和另一个rgba
另一个是当css规则中提供了无效值时,它不会被浏览器渲染引擎设置,因此无法在dom中访问。
你所要求的是无法做到的