2010-08-23 44 views
12

我需要提取出來的東西,「樣式」屬性:「頂」和「左」的屬性jQuery的屬性得到了風格

<div style="top: 250px; left: 250px;" id="1" class="window ui-draggable"> 

有什麼用jQuery這樣做的最佳方式?有沒有簡單的方法,或者我將不得不求助於字符串函數?

回答

31

這取決於你的需要。如果您需要計算值 - 例如解析所有的樣式表後,瀏覽器使用的實際值 - 使用

$("#element_1").css("top") 
$("#element_1").css("left") 

如果它是一個像素值,即總是要在style屬性指定的一個 - 除非着被!important覆蓋樣式表中的語句。

jQuery docs for .css()

如果明確需要在元素的style屬性指定的值,使用

$("#element_1")[0].style.top 
$("#element_1")[0].style.left 

不像.css(),如果style財產沒有規定,他們這些值將是空的。

(使用ID element_1,你不能有一個ID名爲1

+0

剛以確保:將通過元素的樣式對象訪問屬性*還*返回計算值? – Tomalak 2010-08-23 22:03:01

+0

@Tomalak no,'style'只會給你'style ='中顯式指定的值。 – 2010-08-23 22:05:05

1

CSS屬性可以訪問通過標準DOM屬性:

alert($("#theElement")[0].style.top) // "250px" 
alert($("#theElement")[0].style.left) // "250px" 

順便說一句,"1"是不是一個有效的HTML元素ID。使用的CSS()將返回一個整數+ PX

var topValue = $(this).css("top"); //Change the selector to meet your needs 
var leftValue = $(this).css("left"); //Change the selector to meet your needs 
4

可以使用CSS功能

var yourVar = parseInt($('selector').css('top'), 10); 
1

,但你可以很容易地通過這樣得到一個乾淨的整數: