2010-11-18 14 views
8

Tôi tò mò nếu có cách tạo nút DocType qua W3C DOM? Thông số kỹ thuật nêu rõ rằng chúng chỉ đọc và không thể chỉnh sửa được, nhưng chúng có thể được tạo không?Có thể sử dụng DOM W3C để tạo các nút Document/DocType không?

http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-412266927

Giao diện Document dường như không có bất kỳ phương pháp tạo ra cho nó:

http://www.w3.org/TR/DOM-Level-3-Core/core.html#i-Document

Có lẽ câu hỏi rộng hơn là: Can một hoàn toàn Tài liệu HTML mới được xây dựng theo chương trình thông qua DOM? Tôi biết về document.createDocumentFragment() nhưng tôi có nghĩa là tương đương với một tài liệu HTML gốc với loại tài liệu cụ thể, vv


Cập nhật: nó trông giống như Gecko gần đây và WebKit thực hiện DOMImplementation.createDocumentDOMImplementation.createDocumentType nhưng không IE8 hoặc trước (thiên đường' t kiểm tra IE9). Rất tiếc là tôi vẫn bị kẹt ở đó.

Tôi cũng không chắc chắn về những gì tôi có thể làm với phiên bản Tài liệu mới này khi tôi có nó. Tất cả các phương thức DOM hiện tại đều treo đối tượng tài liệu toàn cục, vì vậy dường như không có cách nào để trao đổi nó với một phương thức mới.

Trả lời

1

Bạn cần đối tượng DOMImplementation. Xem phần Bootstrapping.

+0

Tôi không thấy cách trả lời câu hỏi của mình. Đối tượng 'DOMImplementation' xuất hiện để cho phép bạn truy vấn các mô-đun DOM được hỗ trợ. Bạn có thể cụ thể hơn về cách người ta có thể sử dụng điều này để tạo ra các phiên bản mới của các nút này không? – mckamey

+0

Triển khai DOM (http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-102161490) có các phương thức createDocument và createDocumentType. – Alohci

+0

Ah okay, có vẻ như bạn có thể lấy một trong những đối tượng đó từ 'document.implementation'. Bạn có thể thay thế tài liệu hiện tại bằng một tài liệu được tạo theo cách này không? – mckamey

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