如何使用JavaScript来检测元素的文字方向是什么?(How to detect text di

2019-08-18 09:14发布

什么是检测使用JavaScript的HTML元素的文本方向的最佳方式? 我希望得到任何“RTL”或“升”。

<div dir="ltr" id="foo">bar</div>

<div style="direction:ltr" id="baz">quux</div>

<div dir="ltr"><div id="jeez">whiz</div></div>

我将如何测试的“富”,“巴兹”或“哎呀”的方向?

Answer 1:

getComputedStyle是在现代浏览器(IE9 +和其他人)使用。

getComputedStyle(document.getElementById('foo')).direction

http://jsfiddle.net/m8Zwk/

参考上的getComputedStyle Mozilla开发者网络



Answer 2:

试试这个

document.defaultView.getComputedStyle(document.getElementById('baz'),null)['direction'];

要么

style = document.defaultView.getComputedStyle(document.firstChild,null);
console.log(style.direction);


Answer 3:

@爆丸答案是正确的。 我做了一些更多的研究,对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

由于这提供了更多的信息,我想情况下,它可以帮助别人我将它张贴。



Answer 4:

你可以简单地使用style对象:

console.log(document.getElementById('baz').style.direction);

DEMO

请注意该DOM的这个对象只能是在用线风格的元素,它并不适用于任何CSS样式表。



文章来源: How to detect text direction of element using Javascript?