2013-04-06 26 views
7

Tôi đang đi qua một số (cũ?) Javascript bản địa và tôi gặp phải một sự tách biệt của document.getElementById, document.all và document.layers.là document.all và document.layers lỗi thời bây giờ

Từ những gì tôi biết, document.all và document.layers đã lỗi thời, nhưng tôi chỉ muốn đảm bảo.

+1

@Royi Namir: các phiên bản mới nhất của chrome và opera còn hỗ trợ 'document.all' –

+0

@ Dr.Molle ouch .... không biết rằng :-) cảm ơn.. (xóa) –

Trả lời

10

Có, chúng đã lỗi thời.

Bộ sưu tập document.all dành riêng cho Internet Explorer. Bộ sưu tập document.layers dành riêng cho Netscape. Không có trong các tiêu chuẩn.

Hôm nay, chúng tôi sử dụng document.getElementById để thay thế.

Xem thêm: https://developer.mozilla.org/en-US/docs/Mozilla_Web_Developer_FAQ#JavaScript_doesn.E2.80.99t_work.21_Why.3F

+0

Tài liệu [W3Schools] (http://www.w3schools.com/jsref/dom_obj_document.asp) cũng hỗ trợ việc này. Vì không có thuộc tính nào được liệt kê. – fredrik

+0

@fredrik: Cảm ơn vì điều đó, nhưng lưu ý rằng w3schools chưa đủ để được sử dụng làm tài liệu. Bạn có thể sử dụng nó như một hướng dẫn, miễn là bạn xem xét rằng một số phần của nó có thể không chính xác hoặc lỗi thời. – Guffa

+0

Tất nhiên tôi có nghĩa là document.getElementById chứ không phải document.id. Brainfart từ phía tôi ... – Paul

0

Vâng, đúng vậy. Chúng xuất phát từ khoảng thời gian mà Internet Explorer 4 và Netscape 4.x là các trình duyệt chính: document.layers đã được Netscape sử dụng và document.all từ IE. Việc đầu tiên chắc chắn là không sử dụng nữa, nơi tôi đoán document.all vẫn được sử dụng cho di sản trong IE.

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