2011-01-07 191 views
2

我想獲得一個css屬性,它是用jquery動態設置的。jquery css獲取動態設置屬性

考慮以下代碼:

$(document).ready(function(){ 

$("#clickme").click(function(){ 

    $("#myTable").css('borderStyle','solid'); 
    $("#myTable").css('borderColor','black'); 
    $("#myTable").css('borderWidth','3px'); 
}); 

$("#clickme2").click(function(){ 
    alert($("#myTable").css('borderWidth')); 
}); 

}); 

點擊clickme按鈕設置表mytable的 與預期性質(3px的純黑色), 但隨後點擊clickme2不會得到 的3px的價值! 你知道任何修復嗎?

我讀到這裏Can jQuery get all CSS styles associated with an element?

,一個解決辦法是使用DOM元素的.style, 但如果jQuery的能做到這一點,我寧願jQuery的方法...

(所見即所得的對於計算器是一個非常不錯的主意;))

+0

請注意,您的代碼可以改進/簡化爲$('#myTable')。css({borderStyle:'solid',borderColor:'black',borderWidth:'3px'});` – Phrogz 2011-01-07 21:17:48

+0

什麼時候會發生什麼你點擊clickme2? – Jake 2011-01-07 21:28:33

回答

2

我的理解是,當你設定一個值「邊框寬度」,它的設置「borderTopWidth」,「borderRightWidth」,「borderBottomWidth」和「borderLeftWidth」所有的簡寫方式立刻。

因此,我認爲你必須指定你想得到的邊框的哪一邊,比如「borderBottomWidth」。

0

沒有實際價值borderWidthborder-width它是一個簡寫屬性設置四個基礎性border-top-widthborder-right-width

因此,你可以只對那些四個值之一查詢:

DEMO:http://jsfiddle.net/marcuswhybrow/zu74F/