Javascript 在使用从右向左的语言时,是否有一种方法可以切换左css值和右css值?

Javascript 在使用从右向左的语言时,是否有一种方法可以切换左css值和右css值?,javascript,jquery,html,css,right-to-left,Javascript,Jquery,Html,Css,Right To Left,我在一个支持许多不同地区的网站上工作。我们的下一个地区是希伯来语,这是一种从右到左的语言。我在HTML元素上设置了dir=rtl和lang=he,某些事情会发生变化(正如它们应该发生的那样) 很多网站使用的元素绝对定位设置为左值。有没有一种方法可以使它在rtl模式下切换到正确的值 我知道我可以在html元素上有一个rtl类,并在该类存在时进行css覆盖,但该项目相当大,手动查找所有这些事件并不是一件有趣的事情。我认为添加类会更健壮,但考虑到这有多没有乐趣,用JavaScript找到他们 我想没

我在一个支持许多不同地区的网站上工作。我们的下一个地区是希伯来语,这是一种从右到左的语言。我在HTML元素上设置了
dir=rtl
lang=he
,某些事情会发生变化(正如它们应该发生的那样)

很多网站使用的元素绝对定位设置为左值。有没有一种方法可以使它在rtl模式下切换到正确的值


我知道我可以在html元素上有一个
rtl
类,并在该类存在时进行css覆盖,但该项目相当大,手动查找所有这些事件并不是一件有趣的事情。

我认为添加类会更健壮,但考虑到这有多没有乐趣,用JavaScript找到他们


我想没有内置的方法可以做到这一点,但这是一个非常复杂的问题。你可以在一个全局数组变量中设置(或者在数据库中,用JSON获取)来设置哪些语言是从左到右写的,反之亦然,像WordPress这样的框架对从右到左的语言使用
rtl.css
文件,因此,您可能需要定义第二个css文件。只要你所有的定位信息都在css中,这就行了,尽管使用左右键移动东西的javascript方法也需要修改,类似这样的方法可能行得通。我可能会修改一点,但我想不出任何其他方法来真正做到这一点。修改掉!这真的取决于期望的结果是什么,但它肯定会起作用。
$(document).ready(function () {
  var elsToFlip = $('*')
  elsToFlip.each(function () {
    var pos = $(this).css('position')
      , left = $(this).css('left')

    if (pos === 'absolute' && left !== 'auto') {
      $(this).css({
        left: 'initial'
      , right: left
      })
    }
  })
})