2013-06-04 30 views

Trả lời

51

Kiểm tra xem trang của bạn có ở chế độ Quirks hoặc Chế độ tương thích hay không. Bạn có thể sử dụng các công cụ dev F12 để xác nhận điều này. Nhấn F12 và nhìn vào góc trên cùng bên phải của cửa sổ kết quả. Nếu bạn thấy "Tương thích" hoặc "Quirks" trong mô tả chế độ, thì bạn đã tìm thấy sự cố. chế độ

  • Quirks: này thường được kích hoạt bởi một DOCTYPE thiếu hoặc bị hỏng. Nếu đây là trường hợp, đảm bảo trang của bạn bắt đầu với những điều sau đây:

    <!DOCTYPE html> 
    
  • chế độ Compatibility (IE7 mode): này có thể được kích hoạt nếu bạn đang xem trang tại địa phương (tức là chạy nó trên của bạn máy địa phương, ví dụ như để thử nghiệm hoặc trên mạng cục bộ của bạn). Trong trường hợp này, bạn đang bị tấn công bởi thiết lập cấu hình IE mà bạn nên vô hiệu hóa. Chuyển đến trình đơn Công cụ và chọn tùy chọn Cài đặt chế độ xem có thể xem. Bỏ tùy chọn tương thích và trang sẽ bắt đầu hoạt động.

    Chế độ tương thích cũng có thể được kích hoạt (hoặc tránh) bởi thẻ meta X-UA-Compatibility. Nếu bạn đang gặp rắc rối với chế độ tương thích, đây là một cách tốt để tránh nó: Thêm dòng sau vào code của bạn:

    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    

Hoặc (hoặc cả hai) những điều trên có thể là vấn đề, nhưng tôi đoán là vấn đề là chế độ tương thích. Các thiết lập compat-mode-on-intranet-site ngạc nhiên ít được biết đến, và bắt được rất nhiều người, thậm chí một số nhà phát triển dày dạn kinh nghiệm.

+1

Điểm tốt về Chế độ xem tương thích - Tôi tin rằng IE cũng ném cùng một lỗi ở chế độ đó, nếu thực tế nó không hoạt động ở đó. – BoltClock

+0

Cảm ơn, Khắc phục sự cố tương thích đã giúp tôi giải quyết vấn đề Jquery Datepicker trong IE –

+0

Tôi gặp sự cố rằng thẻ '' nằm giữa thẻ '' và '', vì vậy, hãy đảm bảo cấu trúc HTML của bạn hợp lệ. – mrzmyr

12

IE8 chỉ hỗ trợ querySelectorAll() ở chế độ tiêu chuẩn. Từ MSDN:

API chọn được định nghĩa là một phần của đặc điểm Selectors API và chỉ có sẵn cho trang web được hiển thị trong chế độ tiêu chuẩn IE8.

Rất có thể trang của bạn không có khai báo DOCTYPE phù hợp; bạn sẽ cần phải thêm một.

+3

cũng sẽ chỉ chọn các nút dom bằng bộ chọn css 2. –

+0

Không, nó chọn các nút sử dụng bất kỳ bộ chọn nào nó hỗ trợ. Một số bộ chọn CSS3 được biết là được hỗ trợ bởi IE8, bao gồm tất cả các bộ chọn thuộc tính và bộ tổ hợp '~'. – BoltClock