2009-06-01 38 views
5

Sau khi tải div nội bộ (#book_table) qua ajax, tôi muốn thay đổi kích thước chiều rộng của phần thân để chứa nội dung lớn hơn.Lỗi .width (val) trong IE - đối số không hợp lệ

var new_width = parseInt($('#book_table').css('width'))+407; 
$('body').width(new_width); 

trình trong FF và Safari, nhưng thất bại trong IE với "lý luận không hợp lệ". Trong giải nén jQuery 1.3.1, đó là dòng 1049:

elem[ name ] = value; 

Đi qua một giá trị văn chương, tuy nhiên, hoạt động trong IE:

$('body').width(1200); 

Trả lời

10

Bạn nên thử:

var new_width = $('#book_table').width() + 407; 
$('body').width(new_width); 

Sử dụng css('width') đang trả về một chuỗi có phần mở rộng 'px' thay vì chỉ đơn giản là một số. Firefox có thể phân tích cú pháp chính xác "100px" thành 100 với parseInt, nhưng có vẻ như IE thì không.

Sử dụng width() sẽ chỉ trả về một số nguyên, cũng loại bỏ nhu cầu gọi parseInt.

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