先根据MDN 关于 nodeType 的说明,我推测属性节点与那些一起归入“已弃用的节点类型常量”中的节点类型,都不再在 DOM tree 中,并且也不会被“ Node.childNotes ”收入。emmmm 也就是说“ Node.childNotes"是和 DOM tree 完美契合的,DOM 模型下有的它都有,它没有的也不在 DOM tree 中。
这里说我推测是因为我找不到准确或官方的资料明确这一信息,我自己用
<div id="div-01">Here is div-01</div>
这一元素进行测试,它的 childNotes 并未出现属性节点,所以我认为我的推测可能是正确的。希望能提供更准确资料的大佬指正。
然后 firstChild 以及 nextSibling 着一些属性,其根本上都是在 node.ChildNotes 的简化利用罢了:
node.firstChild 就是 node.childNotes[0]; node.nextSibling 就是 node.childNotes[current_node_index+1];
1
SoloCompany 2017-09-26 00:03:55 +08:00 1
1. 属性关系不是父子关系
2. RTFM - MDN 同样也有告诉你 Attr 节点的 parentNode 属性永远是 NULL https://developer.mozilla.org/en-US/docs/Web/API/Attr |