2013-01-14 36 views
5

Tôi biết IE8 là một nỗi đau, nhưng tôi chưa bao giờ thấy nó gây rắc rối cho tôi. Tất cả những gì tôi đang cố gắng làm là xác định một đối tượng Javascript và nó gây ra lỗi, dừng tất cả các tập lệnh làm việc trên trang.Lỗi IE8 khi xác định đối tượng Javascript?

Lỗi này là "Số nhận dạng mong đợi, chuỗi hoặc số" và cho biết vấn đề xảy ra khi tôi xác định thuộc tính "lớp" bên dưới. Tôi đã thấy vô số kịch bản xác định các đối tượng theo cách này, vậy tại sao IE8 lại nôn mửa về điều này?

Tôi đã tách mã vi phạm này. Đặt điều này trong phần đầu của một trang HTML của chính nó và chạy nó trong IE8 sẽ gây ra vấn đề tôi đang nhìn thấy.

<script type="text/javascript" language="javascript"> 
var atts = {class: "trigger"}; 
</script> 
+2

IE là khủng khiếp cho "dành riêng các từ "không phải vậy. hãy thử thay đổi lớp thành một thứ khác tạm thời, ví dụ: "foo", và xem chuyện gì xảy ra. –

Trả lời

6

Xác định sử dụng kiểu dữ liệu thích hợp bằng cách kèm theo trong dấu ngoặc kép, "class"

5

Đó là vì class là từ khóa được đặt trước. Hãy thử đặt dấu ngoặc kép quanh nó 'class'

+1

Tôi đã thấy nhiều plugin cần các lớp học. Phương pháp phổ biến là đặt tên cho nó là 'klass'. –

+0

'className' là một thường được sử dụng một (Backbone) –

0

trong addtion để @PickYourPoison trả lời bạn cũng có thể sử dụng thủ thuật này:

var atts= {}; 
atts["class"] = "LOL"; 
Các vấn đề liên quan