2011-07-07 14 views
5

Tôi đang sử dụng ứng dụng Google Closure Compiler (giao diện dòng lệnh). Khi tôi chạy nó tôi nhận được lỗi dưới đây.Lỗi phân tích cú pháp Trình biên dịch của Google: id thuộc tính không hợp lệ cho `css ({float: 'left'})`

deploy/js/Home.js:40: ERROR - Parse error. invalid property id 
    this.$images.wrapAll('<div id="slideInner"></div>').css({float:'left'}); 
                   ^

1 error(s), 0 warning(s) 
+0

Bạn đã thử đặt khóa trong dấu ngoặc kép chưa? '.css ({'float': 'left'})'? –

+0

Cảm ơn Gaby hoàn hảo – Chapsterj

+0

Lưu ý rằng tôi đã thấy các từ khóa không được kiểm soát được sử dụng vì lỗi này trong IE, do đó, đây là một điều tốt để khắc phục :) –

Trả lời

9

Tôi tin rằng bạn cần làm:

{'float':'left'} 

Điều này là do float là trên list of Java keywords reserved by JavaScript, vì vậy nó không thể được sử dụng như một tên thuộc tính. Điều này có thể không còn là một vấn đề trong các công cụ JS mới hơn, nhưng nó có thể là một vấn đề trong các công cụ cũ hơn, đó là lý do tại sao trình biên dịch mang lại một lỗi.

+0

Các từ khóa * Java * có thực sự được đặt trong Ecmascript không. ? Hay đây là một vấn đề JScript? – Bergi

2

Nếu bạn đã có hàng tấn dữ liệu đậu nành, và không muốn thay đổi everthing trong mỗi tập tin đậu nành, bạn có thể vượt qua một lá cờ để trình biên dịch:

--compiler_flags="--language_in=ECMASCRIPT5" 

Nó làm việc diễn ra tốt đẹp cho tôi.

+0

cũng hoạt động với trình tạo đóng mới :) – Sebastien

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