在附加元素之前从CSS类获取宽度?

时间:2014-08-08 00:05:45

标签: javascript css d3.js

我需要父div的宽度用于子div内的计算,但在D3链中尚未附加。如何从例如

中提取宽度
.element {
    width: 120px;
    height: 200px;
    box-shadow: 0px 0px 12px rgba(0,255,255,0.5);
    border: 1px solid rgba(127,255,255,0.25);
    text-align: center;
    cursor: default;
}

1 个答案:

答案 0 :(得分:2)

您可以使用getComputedStyle和带有类名的临时DOM元素来读取应用的CSS。

var el = document.createElement("div");
el.className = "element";
document.body.appendChild(el);
var elementWidth = getComputedStyle(el, null).width;
document.body.removeChild(el);

此代码将创建一个新的div元素,其类为element,将其添加到body,读取应用的CSS width将其设置为变量{ {1}},并从DOM中删除临时元素。

或者,您可以使用jQuery执行此操作。

elementWidth