ADS3.7 DOM2核心和DOM2 HTML——Node对象之五:检测是否具有子节点和属性

前端技术 everyinch 3782℃ 0评论

如果想要检测某个节点是否具有子节点或属性,那么可以使用hasChildNodes()和hasAttributes()方法,如下例所示:

ADS.addEvent(window, 'load', function() {
    ADS.log.header('Attributes And ChildNodes');
    var h2 = document.getElementsByTagName('H2')[0];
    ADS.log.write(h2.nodeName);
    ADS.log.write(h2.nodeName + ' hasChildNodes: ' + h2.hasChildNodes());
    ADS.log.write(h2.nodeName + ' childNodes: ' + h2.childNodes);
    ADS.log.write(h2.nodeName + ' number of childNodes: '+ h2.childNodes.length);
    ADS.log.write(h2.nodeName + ' attributes: ' + h2.attributes);
    ADS.log.write(h2.nodeName + ' number of attributes: '+ h2.attributes.length);
    // 下面这行在IE中会出错
    ADS.log.write(h2.nodeName + ' hasAttributes: '+ h2.hasAttributes());
});

运行以上代码后,日志窗口将会显示以下结果:
□ H2
□ H2 hasChildNodes: true
□ H2 childNodes: [object NodeList]
□ H2 number of childNodes: 1
□ H2 attributes: [object NamedNodeMap]
□ H2 number of attributes: 0
□ H2 hasAttributes: false
如果只想知道某个节点是否包含什么时,使用hasChildNodes()和hasAttributes()方法是非常便利的。但是,如果想知道节点中包含多少个子节点或属性时,那就需要使用childNodes和attributes属性。

分享&收藏

转载请注明:陈童的博客 » ADS3.7 DOM2核心和DOM2 HTML——Node对象之五:检测是否具有子节点和属性

喜欢 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(1)个小伙伴在吐槽
  1. 全世界的钱都在美国人的口袋里,而美国人的钱却在犹太人的口袋里。
'; } if( dopt('d_footcode_b') ) echo dopt('d_footcode'); ?>