一个html怎么包含另一个html页面,document中有一个HTML和一个html?这是怎么出现的?...

今天遇到这样一道题

完成以下功能:任意打开一个网页如新浪或者百度,写一段js代码找到网页中所有以h或者H开头的元素,并打印每种元素的个数,如网页中含有head, hr 和 h2 元素,那么打印出类似如下的结果:

{

hr: 3,

h2: 2,

head: 1

}

我的代码如下

function find(node,map = {}){

let tagName = node.nodeName;

let first = tagName.slice(0,1);

if( first=='H'|| first == "h"){

if(map[tagName]){

map[tagName]++;

}else{

map[tagName] = 1;

}

}

let children = node.childNodes;

if(children){

for(let i = 0;i < children.length; i++){

find(children[i],map);

}

}

return map;

}

console.log(find(document));

我随便找了一个网页输出结果如下:

{html: 1, HTML: 1, HEAD: 1, H3: 2}

问题

为什么会有一个HTML和一个html呢,正常代码结构中不是只应该有一个html吗?

请问这个HTML是什么,怎么出现的?

回答

document.childNodes有两个,nodeName一个是html,一个是HTML

你看其中一个nodeType是不是 10

A DocumentType node, such as .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值