HTML   发布时间:2022-04-14  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了html – 如何检查DOM节点是否是表示doctype声明的节点?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
所以我们说(在IE8中)我们有一个文档.

现在通常我们可以假设document.childNodes [0]是doctype.所以

var doctype = document.childNodes [0]

现在我们如何确认而不是假设它是doctype?

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

除了假设之外,我怎么知道给定节点是否是doctype?

对于那些不熟悉DOM4的人,请看一下DocumentType

通过返回document.childNodes [0],DOM-shim获取IE8中的document.doctype

解决方法

我发现在IE7和IE8中,评论的.innerHTML属性总是完整的“<! - 在这里评论 - >”对于doctype节点,它是“”.即使对于空注释,.innerHTML也是“<!---->”

基于此,我创建了:

function isDocType(nodE) {
    return node && (
    node.nodeType === 10 || (node.nodeType === 8 && "innerHTML" in node && node.innerHTML === ""));
}

有了测试页面:

<!-- comment1 -->
<!-- comment2 -->
<!---->
<!-- -->
<!-- <!DOCTYPE html> -->

通过isDocType运行doctype和注释给出:

LOG: true 
LOG: false 
LOG: false 
LOG: false 
LOG: false 
LOG: false

http://jsfiddle.net/AEYt4/

大佬总结

以上是大佬教程为你收集整理的html – 如何检查DOM节点是否是表示doctype声明的节点?全部内容,希望文章能够帮你解决html – 如何检查DOM节点是否是表示doctype声明的节点?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。