是否可以从外部样式表中获取 dom 元素的特定 css 属性的值,而不是从计算的样式表中获取

Is it possible to get the value of a dom element's specific css attribute from the external stylesheet and not the computed one?

本文关键字:获取 样式 属性 计算 外部样式表 dom 元素 是否 css      更新时间:2023-09-26

jquery .css方法不适用于此。有没有替代的方法来获取 css 工作表中的实际值,例如百分比等...... ?下面是一个示例,表明.css不适用于此:外部 css:

margin-left: 10%;

Js 代码:

var Marginleft = $(domElem).css('margin-left');
alert(Marginleft);

这将返回一个以像素为单位的值。我想得到百分比,是否可以不以字符串的形式进入 css ?

我认为没有内置函数。我不确定您所说的"以字符串形式进入 css"是什么意思,但您可以轻松计算百分比。

var percent = (parseFloat(Marginleft)/parseFloat($(domElem).parent().css('width')) * 100) + '%';
alert(percent);

试试这个(仅限Webkit:Chrome,Opera,Safari)

var Marginleft = window.getMatchedCSSRules(domElem)[0].style["margin-left"]
alert(Marginleft);

此示例将读取从第一个分配的类到 dom 元素的"左边距"样式属性。如果你有多个类 - 你可能必须遍历数组才能得到你正在测试的类。

演示:http://jsfiddle.net/rkT5Q/

对于壁虎替代品,请查看 https://gist.github.com/ydaniv/3033012

对于可能的跨浏览器 https://stackoverflow.com/a/4926651/961695