getElementById()、getElementsByName()和getElementsByTagName()的区别

1、通过id获取网页中的某一部分

在一个网页里,id属性是一个元素的标识符,所有的网页元素都可以拥有这个id属性。通常,id是不允许重复的。因此,通过id来获取网页中一个元素的DOM是最常见的定位元素的方法。

该实例主要演示如何使用getElementById()来获取一个元素的DOM对象。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>通过id获取一个特定的DOM元素</title>
    <script type="text/javascript">
        //获取DOM的文字内容
        function getDomText(){
            //获取链接的DOM
            var myLink = document.getElementById("myLink");
            //获取Span的DOM
            var mySpan = document.getElementById("mySpan");
            //定义拼接字符变量
            var str = '';
            //加入链接的文本
            str += myLink.innerHTML;
            //加入Span的文本
            str += mySpan.innerHTML;
            alert("两个DOM的内容是:"+str);
        }
    </script>
</head>
<body style="text-align:center">
    <p>
        <!-- 定义有id属性的元素 -->
        <a id="myLink" href="#">链接</a>
        <span id="mySpan">文字</span>
        <br/>
        <input type="button" value="获取" onclick="getDomText()"/>    
    </p>

</body>
</html>

效果:

这里写图片描述

点击“获取”按钮之后,弹出:

这里写图片描述

2、据name获取网页中的全部复选框

与id不同,多个元素可使用相同的name属性,譬如复选框。因此,若要获取这一类元素的DOM对象,就需要使用getElementsByName()。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>据标签名获取多个元素</title>
    <script type="text/javascript">
        //获取多个DOM
        function getDomsByName(){
            //获取的DOMs
            var doms = document.getElementsByName("myName");
            var str = '';                 //定义拼接字符变量
            for (var i = 0; i < doms.length; i++) {
                str += doms[i].tagName; //拼接标签的名字
                str += ",";               //分隔符
            }
            alert("两个DOM的文本是:"+str);
        }
    </script>
</head>
<body style="text-align:center">
    <p>
        <!-- 定义有name属性的元素 -->
        <a name="myName" href="#">链接</a>
        <span name="myName">文字</span>
        <br/>
        <input type="button" value="获取" onclick="getDomsByName()"/> 
    </p>

</body>
</html>

运行效果:

这里写图片描述

解析:

name属性是网页元素的有一个重要属性,尤其对于表单控件来说,在提交表单时,name就是参数的名称。获取同一个name的多个元素应用得比较广,比如可用于校验复选框是否已经勾选。

3、据标签名获取网页中的多个元素

获取多个DOM的方式还有获取相同标签的DOM。如获取网页里所有图片、所有链接等

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>据标签名获取多个元素</title>
    <script type="text/javascript">
        //获取多个DOM
        function getDomsByTag(){
            //获取的DOMs
            var doms = document.getElementsByTagName("span");
            var str = '';               //定义拼接字符变量
            for (var i = 0; i < doms.length; i++) {
                str += doms[i].innerHTML; //拼接标签的名字
                str += ",";             //分隔符
            }
            alert("两个DOM的文本是:"+str);
        }
    </script>
</head>
<body style="text-align:center">
    <p>
        <!-- 定义元素 -->
        <span>文字一</span>
        <span>文字二</span>
        <br/>
        <input type="button" value="获取" onclick="getDomsByTag()"/>  
    </p>

</body>
</html>

运行效果:

这里写图片描述

说明:同一类元素的获取,需使用document对象的getElementsByTagName(),其参数为标签的名字。碎玉HTML来说,标签的大小写是不敏感的,所以,该函数的参数对大小写也是不敏感的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值