2013-06-18 12 views
5

Tôi đang cố gắng gỡ rối vấn đề trình duyệt chéo với jQuery/CSS của mình.jQuery - css ('chiều rộng đường viền') trở lại dưới dạng chuỗi trống trên Firefox nhưng không phải trên Chrome

Tôi đang cố gắng để có được chiều rộng đường viền của một lớp. Các lớp được thiết lập trong CSS như sau:

.mod_button { 
    position: relative; 
    color: #fff; 
    border-color: #06253e; 
    border-width: 1px; 
    border-style: solid; 
} 

Trong jQuery, tôi đang cố gắng để có được biên độ rộng như vậy:

var bWidth = $('.mod_button').css('border-width'); 

Điều này dường như trở lại đúng như là một chuỗi của "1px" trong Chrome. Tuy nhiên, trong Firefox nó luôn luôn trả về dưới dạng một chuỗi rỗng "". Tôi đã kiểm tra các kết quả này thông qua các trình gỡ rối JS trong các công cụ phát triển trên cả Chrome và Firefox.

Tôi đã thử các loại hạt cố gắng gỡ lỗi vấn đề này và dường như tôi không thể tìm thấy bất kỳ câu trả lời ngắn gọn nào. Có lẽ cộng đồng ở đây có thể cho tôi một đầu mối về cách tôi có thể khắc phục vấn đề này.

Cảm ơn bạn!

+0

gì là bạn thực sự cố gắng để làm gì? Tôi sẽ khuyên bạn nên sử dụng một phương thức như '.hasClass()' thay vì nhìn thẳng vào css. Mỗi trình duyệt có cài đặt mặc định khác nhau và triển khai css. –

+0

bạn đã thử 'var bWidth = $ ('. Mod_button'). Css (" border-left-width ");'? hoặc bất kỳ biên giới nào bạn cần – Morpheus

+0

Tôi đã tạo bản trình diễn và nó là đúng: http://jsfiddle.net/d93nL/ –

Trả lời

14

Các thuộc tính như "biên giới", "nền" và thậm chí là "chiều rộng đường viền" là viết tắt. Chúng không được hỗ trợ. Thay vào đó, hãy sử dụng các thuộc tính cụ thể hơn: "border-top-width", "border-bottom-width".

Các dòng sau nên làm việc trong tất cả các trình duyệt:

var bWidth = $('.mod-button').css('border-top-width'); 

câu hỏi liên quan: Getting CSS border value with jQuery in Firefox 14.0.1

+0

Cảm ơn! Điều đó dường như làm các trick. Xin lỗi cho câu hỏi tương tự/trùng lặp. – defwonder

+0

wow điều này đã giúp tôi, đã bugging off cố gắng để có được css của tôi ('border-color') .. trong chrome nó làm việc, trong firefox tôi đã nhận được một chuỗi rỗng! .. đã thử 'border-top-color' ngay bây giờ và hoạt động như một nét duyên dáng .. công việc tốt. – webkit