2017-08-31 122 views
0

我有一個元素,它的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財產

回答

2

不知道它會在你的情況下工作,但你可以通過只選擇樣式屬性和嘗試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

相關問題