2011-11-07 34 views
6

Đây phải là một vấn đề thực sự đơn giản, nhưng tôi không thể tìm ra những gì tôi đang làm sai. Tôi cố gắng để truy cập vào các thuộc tính CSS 'border-bottom' như thế này:jQuery- .css() không hoạt động đối với đầu vào

var temp = $('#divName').css('border-bottom'); 

Thật không may, sau này, tạm thời có chứa chuỗi ""

Có ai biết tại sao điều này không hoạt động hoặc những gì tôi nên làm khác nhau để làm cho nó hoạt động? Cảm ơn.

+0

bạn đã thử 'borderBottom'? –

+0

'# divName' có chứa thuộc tính' border-bottom' không? – Sparky

Trả lời

8

Các phong cách phải được cụ thể hơn . Vì border-bottom là thuộc tính ngắn đối với các thuộc tính khác (tương tự như background, để đặt tên cho một thuộc tính chung), thuộc tính phải được cung cấp rõ ràng.

var elem = $('#divName'); 
var border_width = elem.css('border-bottom-width'); 
var border_color = elem.css('border-bottom-color'); 
var border_style = elem.css('border-bottom-style'); 
var border_bottom = border_width + " " + border_color + " " + border_style; 

Fiddle: http://jsfiddle.net/6wRj4/
Xem thêm: MDN: border-bottom short-hand.

+0

Có thể đáng nói rằng đây là * không * được coi là lỗi trong jQuery. jQuery báo cáo các thuộc tính CSS chính xác khi trình duyệt trả về chúng, và các trình duyệt khác nhau đôi khi trả về các câu trả lời khác nhau cho cùng một tài liệu HTML. – Blazemonger

+0

Thực tế, các phương thức 'window.computedStyle()' và 'element.currentStyle []' (IE) được sử dụng. Một số giá trị được sửa đổi bởi jQuery, để hiển thị cùng một kết quả trên các trình duyệt khác nhau. –

+0

Ahh. Bây giờ mà làm cho rất nhiều ý nghĩa. Tôi thấy một cái gì đó như thế này trong tài liệu Jquery, nhưng không đặt 2 và 2 lại với nhau. Cảm ơn bạn. – gabaum10

2

Kiểm tra để đảm bảo rằng $ ('# divName') không chọn một phần tử đơn lẻ. Bạn có thể sử dụng cú pháp mảng trên đối tượng jquery để lấy lại đối tượng DOM bên dưới. Bạn cũng nên kiểm tra (ví dụ: sử dụng Firebug) để đảm bảo rằng phần tử DOM bạn đang xem không có kiểu mà bạn đang tìm kiếm.

Nếu cả những điều đó đang làm việc một cách chính xác, bạn có thể thử sử dụng các thuộc tính biên giới chi tiết hơn ... border-bottom-style, border-bottom-width vv

0

Hãy thử với document.getElementById("divName").style.borderBottom;.

Các vấn đề liên quan