JavaScript 获取样式

标签 javascript css styling

是否可以使用 JavaScript 获取对象的所有样式?像这样的东西:


main.css
-------
#myLayer {
  position: absolute;
  width: 200px;
  height: 100px;
  color: #0000ff;
}

main.js
-------
var ob = document.getElementById("myLayer");
var pos = ob.(getPosition);
// Pos should equal "absolute" but
// ob.style.position would equal null
// any way to get absolute?


最佳答案

您正在谈论所谓的计算样式,请查看以下文章了解如何获取它:

从上一篇文章中,这里有一个函数:

function getStyle(oElm, strCssRule){
    var strValue = "";
    if(document.defaultView && document.defaultView.getComputedStyle){
        strValue = document.defaultView.getComputedStyle(oElm, "").getPropertyValue(strCssRule);
    }
    else if(oElm.currentStyle){
        strCssRule = strCssRule.replace(/\-(\w)/g, function (strMatch, p1){
            return p1.toUpperCase();
        });
        strValue = oElm.currentStyle[strCssRule];
    }
    return strValue;
}

使用方法:

CSS:

/* Element CSS*/
div#container{
    font: 2em/2.25em Verdana, Geneva, Arial, Helvetica, sans-serif;
}

JS:

var elementFontSize = getStyle(document.getElementById("container"), "font-size");

关于JavaScript 获取样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4172871/

相关文章:

css - 当目标元素 float 时,Bootstrap 3.2 弹出窗口无法正确定位

javascript - React Router将所有请求重定向到 "/"

javascript - 如何防止jspdf中的表拆分为多个页面

html - 如何使用 col-md 水平居中对齐内容

react-native - 在 TouchableOpacity : React Native 上创建 "Raised"或阴影效果

Silverlight 中的 CSS 样式

javascript - Chart.js 切断了 Canvas - 但填充使 donut 变得非常小

javascript - AngularJS 指令 - ng-repeat 中的 ng-class 应该是一个 $watcher 来切换样式吗?

javascript - 在提交之前将表单中输入的值显示为表格

html - 在菜单顶部添加电话号码,并且在移动设备中应该是响应式 View