使用Javascript检测html元素的文本方向的最佳方法是什么?我希望得到“rtl”或“ltr”。
<div dir="ltr" id="foo">bar</div>
<div style="direction:ltr" id="baz">quux</div>
<div dir="ltr"><div id="jeez">whiz</div></div>
我如何测试“foo”,“baz”或“jeez”的方向?
答案 0 :(得分:13)
getComputedStyle
。
getComputedStyle(document.getElementById('foo')).direction
答案 1 :(得分:1)
试试这个
document.defaultView.getComputedStyle(document.getElementById('baz'),null)['direction'];
OR
style = document.defaultView.getComputedStyle(document.firstChild,null);
console.log(style.direction);
答案 2 :(得分:1)
@ 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
的第二个参数。
由于这提供了更多信息,我认为我会发布它,以防有人帮助。
答案 3 :(得分:0)