Итак, скажем (в IE8), что у нас есть document
.
Теперь обычно мы можем предположить, что document.childNodes[0]
- это тип документа.Итак,
var doctype = document.childNodes[0]
Теперь, как нам подтвердить , а не предполагать, что это тип документа?
doctype.nodeType === Node.COMMENT_NODE;
doctype.tagName === "!"; // same as a comment
doctype.data.indexOf("DOCTYPE ") > -1; // same as any comment containing the word DOCTYPE.
doctype === document.doctype; // false, document.doctype is undefined in IE8
Помимо предположений, какЯ должен был знать, является ли данный узел типом документа?
Для тех из вас, кто не знаком с DOM4, взгляните на DocumentType
DOM-shim get document.doctype
в IE8, просто возвращая document.childNodes[0]