getElementById(),getElementsByName(),getElementsByTagName的用法和区别

1、定义:

        getElementById(id),以id标识符取得对象,是一个对象;

        getElementsByName(name),以name取得节点清单,是一个数组集合;

        getElementsByTagName(tagname),返回带有指定标签名的对象的集合.

2、一个文件中id是唯一的,但是name可以重名(比如radio),  所以,getElementById获得的是单个对象,用getElementById("id")直接访问,  而getElementsByName获得的结果以数组形式表示,访问getElementsByName获得的对象的方法是getElementsByName("name")[i]。访问哪个标签对象用getElementsByTagName("tagName")[i],注意getElementsByTagName的字符串可以不区分大小写。

3、比如有两个DIV:
        <div name="docname" id="docid1"></div>
        <div name="docname" id="docid2"></div>
        那么可以用getElementsByName("docname")获得这两个DIV,用getElementsByName("docname")[0]访问第一个DIV对象,用getElementsByName")[1]访问第二个DIV对象。具体访问哪个对象还有用getElementById("docid1");

4,例子

(1)

 

<html>

<head>
<script>
    function idfun1(){
        var v = document.getElementById("divOne");
        v.innerText="linjianqinghao";  //写入信息
    }
    function idfun2(){
        var v = document.getElementById("divOne");
        v.innerText="you are very good";  //写入信息
    }
</script>
</head>

<body>

</body>
<input type="button" value="显示信息1" οnclick="idfun1()">  <!--换成图片可以制作菜单-->
<input type="button" value="显示信息2" οnclick="idfun2()"><br><br>
<div id="divOne" style="width:100,height:100"></div>
</html>

 

(2)

<html>
<head>
<script>
    function namefun() {
        var s = document.getElementsByName("sex");
        for(var i=0;i<s.length;i++) {
            if(s[i].checked) {           //选中发生的事件
                alert(s[i].value);
            }
        } 
    } 
</script>
</head>

<body>
<form>
    <table>
        <tr>
            <td><input type="radio" name="sex" value="0" id="s0" οnclick="namefun()">男</td>
            <td><input type="radio" name="sex" value="1" id="s1" οnclick="namefun()">女</td>
        </tr>
    </table>
</form>
</body>
</html>

 

(3)

<html>
<head>
<script>
    function tagNamefun(i) {
        var s = document.getElementsByTagName("input");
        s[i].value='请输入'+s[i].name;
    } 
</script>
</head>

<body>
<form>
    <table>
        <tr>
            <td>用户名:<input type="text" name="username"  οnfοcus="tagNamefun(0)"></td>
        </tr>
        <tr>
            <td>密码:<input type="text" name="password"  οnfοcus="tagNamefun(1)"></td>
        </tr>
    </table>
</form>
</body>
</html>

 

(4)

<html>
<head>
<script>
    function keyup(obj){
        var vOne = obj.value.length;
        //name也有时会被视作id(如在textarea中)
        // 等价于document.getElementById("txaTwo").value = vOne;
        //等价于document.getElementsByName("txaTwo")[0].value = vOne; 
        formOne.txaTwo.value = vOne;
    }
</script>
</head>
<body >
    <form name="formOne">
        <table>
            <tr>
                <td><textarea name="txaOne" οnkeyup="keyup(this)"></textarea></td>
                <td><textarea name="txaTwo"></textarea></td>
            </tr>
        </table>
    </form>
</body>
</html>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
getElementsByTagName()、getElementsByName()和getElementsByClassName()都是JavaScript中的DOM方法,用于获取HTML文档中的元素节点。 getElementsByTagName()方法返回一个包含指定标签名的HTML元素的集合。例如,使用document.getElementsByTagName("div")可以获取到所有的div元素,并返回一个包含这些元素的集合。 getElementsByName()方法返回一个具有指定名称的HTML元素的集合。例如,使用document.getElementsByName("name1")可以获取到所有具有name属性值为"name1"的元素,并返回一个包含这些元素的集合。 getElementsByClassName()方法返回一个包含指定类名的HTML元素的集合。例如,使用document.getElementsByClassName("classname1")可以获取到所有具有class属性值为"classname1"的元素,并返回一个包含这些元素的集合。 这三个方法都可以根据不同的条件选择特定的HTML元素,但有一些区别getElementsByTagName()和getElementsByClassName()返回的是一个集合,可以通过索引访问集合中的元素,而getElementsByName()返回的是一个集合,可以通过name属性访问集合中的元素。此外,getElementsByTagName()可以通过标签名选择元素,getElementsByClassName()可以通过类名选择元素,而getElementsByName()可以通过name属性值选择元素。 总之,getElementsByTagName()用于选择指定标签名的元素,getElementsByName()用于选择具有指定名称的元素,getElementsByClassName()用于选择具有指定类名的元素。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [getElementByIdgetElementsByTagName,getElementsByName,getElementsByClassName的区别](https://blog.csdn.net/sinat_24713805/article/details/53321981)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [getElementByIdgetElementsByTagName,getElementsByName,getElementsByClassName函数用法](https://blog.csdn.net/asdawnakjs/article/details/80718912)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值