2010-08-13 21 views

Trả lời

15

https://developer.mozilla.org/en/DOM/document.getElementsByClassName

e: không được hỗ trợ nguyên bản trong IE < 9, vì vậy bạn phải mở rộng tài liệu/tạo một chức năng toàn cầu với một cái gì đó như thế này: http://robertnyman.com/2008/05/27/the-ultimate-getelementsbyclassname-anno-2008/ hoặc sử dụng một cái gì đó như sizzle hoặc jquery - nhờ nhận xét bên dưới.

+1

Không được hỗ trợ trong IE. http://www.quirksmode.org/dom/w3c_core.html#t11 – user113716

+0

Chỉ cần nhận ra, xin lỗi. Đã cập nhật IE .. – dmp

+0

Có vẻ như chúng tôi đang được hứa hẹn hỗ trợ trong IE9. – UpHelix

14

Một số giải pháp đã được xây dựng để hoạt động trên các trình duyệt không có nguồn gốc getElementsByClassName. Nếu bạn sử dụng bất kỳ thư viện javascript hiện đại nào (ví dụ: jQuery, Prototype), chúng sẽ tự động xoay quanh các khoảng trống dành riêng cho trình duyệt này.

Vì vậy, ví dụ, với jQuery:

$('.foo').get(); 

trả về tất cả các yếu tố DOM với lớp foo, trong bất kỳ trình duyệt.

Nếu bạn chỉ muốn vấn đề cụ thể này được giải quyết, và không muốn sử dụng một thư viện đầy đủ, bạn có thể thử sử dụng một cái gì đó giống như The Ultimate GetElementsByClassName, cho phép bạn có:

getElementsByClassName('foo') 

Mặc dù đó là một vài năm cũ, John Resig's comparison of various solutions cho vấn đề vẫn còn giá trị.

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