element.css('left')即使它不在iPhone Safari上也会返回'auto'

element.css('left')即使它不在iPhone Safari上也会返回'auto'

问题描述:

我有一个元素,它的left CSS属性我想要获取然后在Javascript中设置。元素具有left属性在内联样式中定义。当我检查元素时(通过我的Mac上的Safari,在我的手机上充当Safari的控制台),我可以看到它。element.css('left')即使它不在iPhone Safari上也会返回'auto'

但是,下面的功能:

console.log(getComputedStyle(reporting_table.find('thead.tableFloatingHeaderOriginal')[0]).getPropertyValue('left')); 

console.log(reporting_table.find('thead.tableFloatingHeaderOriginal').css('left')); 

... 返回字符串 '汽车',而不是内嵌样式。我曾在Chrome中尝试过相同的代码,并且工作正常。为什么JavaScript不能在移动Safari中返回正确的值?

The inline style.

内联样式。

the console log of the element, and its left property

元素的控制台日志,以及与其相关的left财产

不知道它会在你的情况下工作,但你可以通过只选择样式属性和尝试CSS属性。还要注意,索引需要通过。 你的情况,你可以做$(".tableFloatingHeaderOriginal")[0].style.left

var x = $(".test")[0].style.color; 
 
console.log(x)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="test" style="color:red;border:1px solid blue;width:100px;display:inline-block"> Hello</div>

+0

这到底没有工作对我来说!我会接受它的工作后的答案,但如果这个答案最终解释为_why_ .css('左侧')失败的Safari移动,那将是非常好的。 – CGriffin