zoukankan      html  css  js  c++  java
  • getElementsByTagName 、 getElementsByName 、getElementById区别

    WEB标准下可以通过getElementById(), getElementsByName(), and getElementsByTagName()访问DOCUMENT中的任一个标签: 
    getElementById()
    getElementById()可以访问DOCUMENT中的某一特定元素,顾名思义,就是通过ID来取得元素,所以只能访问设置了ID的元素。(唯一一个)
    比如说有一个DIV的ID为do:
    <div id="do"></div>
    那么就可以用getElementById("do")来获得这个元素。 

    因为DOCUMENT中每一个元素的ID是唯一的,但NAME却可以重复。打个比喻就像人的身份证号是唯一的(理论上,虽然现实中有重复),但名字重复的却很多。

    getElementsByName()
    这个是通过NAME来获得元素,但不知大家注意没有,这个是GET ELEMENTS,复数ELEMENTS代表获得的不是一个元素,为什么呢?

    如果一个文档中有两个以上的标签NAME相同,那么getElementsByName()就可以取得这些元素组成一个数组

    比如有两个DIV:
    <div name="doname" id="do1"></div>
    <div name="doname" id="do2"></div>
    那么可以用getElementsByName("doname")获得这两个DIV,用getElementsByName("doname")[0]访问第一个DIV,用getElementsByName

    getElementsByTagName()
    这个呢就是通过TAGNAME(标签名称)来获得元素,一个DOCUMENT中当然会有相同的标签,所以这个方法也是取得一个数组。
    假如有两个DIV,可以用getElementsByTagName("div")来访问它们,用 getElementsByTagName("div")[0]访问第一个DIV,用getElementsByTagName("div")[1]访问第二个DIV。

    还有一点就是

    var oDoc=document.getElementById("doc");    //只能用 document获取

    var  adiv=document.getElementsByTagName("div");  //既可以用document获取

    var  adiv=oDoc.getElementsByTagName("div");       //还可以通过父级的id获取

     初学站到,有问题欢迎指出。

  • 相关阅读:
    cocos2d 中判断CGPoint或者CGSize是否相等
    object-c cocos2d-x 写程序时注意调试的技巧
    object-c [self class] 和 [self _cmd]
    object-c 协议和委托
    ios cocos2d TexturePacker生成文件后的使用方法
    object-c 要理解协议的几个重要概念
    Linux Mint 没有 language support 语言支持解决方案
    cocos2d ARCH_OPTIMAL_PARTICLE_SYSTEM这个未定义的问题
    CCSpriteBatchNode的优化性能
    Codeforces Round #190 DIV.2 A. Ciel and Dancing
  • 原文地址:https://www.cnblogs.com/zxhh/p/6061896.html
Copyright © 2011-2022 走看看