Javascript 在webkit中获得级联样式
如何获得元素的级联样式(未计算)? 假设我有一个匹配CSS规则宽度的元素:50% 我想得到字符串“宽度:50%” 仅适用于内联样式 我尽可能地使用Javascript 在webkit中获得级联样式,javascript,css,webkit,Javascript,Css,Webkit,如何获得元素的级联样式(未计算)? 假设我有一个匹配CSS规则宽度的元素:50% 我想得到字符串“宽度:50%” 仅适用于内联样式 我尽可能地使用 elm = document.getElementById("myElm"); rules = elms.ownerDocument.defaultView.getMatchedCSSRules(elm, ''); 现在我有了一个与这个元素相关的所有CSS规则的列表,但是我怎么知道哪个是匹配的规则呢 rules中的顺序规则是否与样式的“层叠”相关?
elm = document.getElementById("myElm");
rules = elms.ownerDocument.defaultView.getMatchedCSSRules(elm, '');
现在我有了一个与这个元素相关的所有CSS规则的列表,但是我怎么知道哪个是匹配的规则呢
rules
中的顺序规则是否与样式的“层叠”相关?我做了一些简单的测试,我似乎是这样的,但我不能确定
我不需要跨平台解决方案,但它必须与webkit浏览器和本机JS配合使用。如果我正确理解了您的问题,您需要这样的解决方案:
var casWidth=($element.width()/$parentRelativeElement.width())*100
为什么不能使用计算样式?听起来这正是你需要的。是的,规则的顺序很重要。只要选择器是相同的,也就是说,它们没有不同的特性。在进行一些样式操作时,为了正确地进行操作,重要的是要知道样式是否“来自”我实际上需要原始css字符串,如果样式设置为百分比或“自动”或任何其他特殊值[延迟回复]css宽度不固定也没关系。Jquery将获取当前宽度并将其转换为像素。
elm = document.getElementById("myElm");
rules = elms.ownerDocument.defaultView.getMatchedCSSRules(elm, '');