2011-08-25 49 views
3

HTML:jQuery的CSS方法

<div id="that" style="margin-left: 10px; border-width: 2px"></div> 

的jQuery:

// alerts "10px 0px" which is strange, isn't it? 
alert($('#that').css('margin-left') + ' ' + $('#that').css('border-width')); 

的jsfiddle:http://jsfiddle.net/vZpAv/

爲什麼jQuery的那樣做的?它不應該得到2px?首先,我認爲這是因爲CSS屬性中的破折號(因爲css('borderWidth')正常工作),但正如您所看到的,它對margin-left確實很好。

+0

可能重複HTTP ://stackoverflow.com/questions/5904380/jquery-css-borderwidth) –

回答

7

border-width用於設置元素上每個邊框的邊框寬度,但不能假定每個邊框具有相同的寬度。其結果是,你需要運行類似:

$('#that').css("borderTopWidth");

但是,這仍然會返回0像素,因爲你不能設置邊框寬度不設置顏色和樣式。

+1

邊框顏色是沒有必要的。他只需要指定邊框樣式。 – avall

+1

是的,但只是設置風格就足夠了:http://jsfiddle.net/vZpAv/15/ –

+0

啊,我一直認爲他們都是必需的。每一天都是學校的一天。無論如何,至少它解決了他的問題...... – BenM

1

使用火狐狸和火災的錯誤,並嘗試使用

Console.log();,而不是提醒

0

您可以使用下面的代碼:

alert($('div').css('margin-left') + ' ' + $.style($('div')[0], 'borderWidth')); 
[jQuery的CSS邊框寬度(的