getComputedStyle
在现代浏览器(IE9+ 和其他)中可用。像这样使用它:
getComputedStyle(document.getElementById("foo")).direction
这是一个完整的示例:
for (let id of ["foo", "baz", "jeez", "hello"]) {
console.log(id, getComputedStyle(document.getElementById(id)).direction);
}
<div dir="ltr" id="foo">bar</div>
<div style="direction:ltr" id="baz">quux</div>
<div dir="ltr"><div id="jeez">whiz</div></div>
<div dir="auto" id="hello">hello</div>
试试这个
document.defaultView.getComputedStyle(document.getElementById('baz'),null)['direction'];
或
style = document.defaultView.getComputedStyle(document.firstChild,null);
console.log(style.direction);
@explosion-pills 答案是正确的。 我对 IE 兼容性做了更多研究,并得出以下结论:
function getDirection(el) {
var dir;
if (el.currentStyle)
dir = el.currentStyle['direction'];
else if (window.getComputedStyle)
dir = getComputedStyle(el, null).getPropertyValue('direction');
return dir;
}
这甚至应该适用于 Firefox 3.6,它需要
null
作为 getPropertyValue
的第二个参数。
因为这提供了更多信息,我想我会发布它,以防它对某人有帮助。