如何在JavaScript中获取不正确的CSS属性值?

时间:2017-02-26 15:46:58

标签: javascript html css

我需要获取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;
&#13;
&#13;

在上面的代码中,我使用foo作为color属性的值,这显然是不正确的 - 该名称没有颜色,也不接受颜色格式。但是,当我在JavaScript中读取该值时,我得到rgb(0, 0, 0)而不是foo

我希望获得原始值,因为它出现在样式表中。我怎样才能做到这一点?

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

1 个答案:

答案 0 :(得分:0)

您有2个单独的问题

首先,有许多不同的格式来设置颜色,但浏览器只返回getComputedStyle的一种格式。返回的格式甚至可能不是跨浏览器的一致。例如,一个浏览器可能会返回rgb和另一个rgba

另一个是当css规则中提供了无效值时,它不会被浏览器渲染引擎设置,因此无法在dom中访问。

你所要求的是无法做到的