getElement[....]方法


getElementById()方法——通过ID获取元素

标签的id属性值是唯一的,就像每个人有一个身份证号,通过身份证号就可以找到相对应的人,在网页中先通过id找到标签,然后进行操作

语法:

document.getElementById("id")

Eg:

结果:null或[object  HTMLParagraphElement]

注:获取的元素是一个对象,如果对元素进行操作,我们要通过它的属性或方法。

 

getElementsByName()方法

返回带有指定名称的节点对象的集合

语法

 document.getElementsByName(name) 

与getElementById() 方法不同的是,通过元素的 name 属性查询元素,而不是通过 id 属性。

1、因为文档中的name属性可能不唯一,所以getElementsByName()方法返回的是元素的数组,而不是一个元素。

2、和数组类似也有length属性,可以和访问数组一样的方法来访问,从0开始。

<!DOCTYPE HTML>
<html>
  <head>
    <script type="text/javascript">
      function getElements(){
        var x=document.getElementsByName("alink");
        alert(x.length);
      }
    </script>
  </head>
  
  <body>
  <a name="alink" href="#">链接一</a><br/>
  <a name="alink" href="#">链接二</a><br/>
  <a name="alink" href="#">链接三</a><br/>
  <br/>
  <input type="button" onclick="getElements()" value="看看几个链接?">
</body>
</html>

 

预览

 

getElementsByTagName()方法

返回带有指定标签名的节点对象的集合。返回元素的顺序是他们在文档中的顺序。

 语法

 document.getElementByTagName(Tagname) 

说明

1、Tagname是标签的名称,如p、a、img等标签名。

2、和数组类似也有length属性,可以和访问数组一样的方法来访问,所以从0开始。

Eg:通过getElementsByTagName()获取节点

<!DOCTYPE HTML>
<html>
    <head>
        <title>JavaScript</title>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
    </head>
    
    <body>
        <p id="intro">我的课程</p>
        <ul>
            <li>JavaScript</li>
            <li>JQuery</li>
            <li>HTML</li>
            <li>JAVA</li>
            <li>PHP</li>
        </ul>
        <script >
            //获取所有的li集合
            var list=document.getElementsByTagName('li');
            //访问无序列表:[0]索引
            li = list[0];
            //获取list的长度
            document.write(list.length);
            //弹出li节点对象的内容
            document.write(li.innerHTML);
        </script>
    </body>
</html>

效果

 

 区别getElementByID,   getElementsByName,  getElementsByTagName

以人来举例说明,人有能标识身份的身份证,有姓名,有类别(大人,小孩,老人)等。

1、ID是一个人的身份证,是唯一的,所以通过getElementById获取的是指定的一个人。

2、Name是他的名字,可以重复,所以通过getElementsByName获取名字相同的人集合。

3、TagName可看似某类,getElementByName获取相同类的人集合,如获取小孩这类人,getElementByTagName("小孩")。

代码举例

<input type="checkbox" name="hobby" id="hobby1">音乐

 input标签就像人的类别

name属性就像人的姓名

id属性就像人的身份证

 

方法总结:

 

注:方法区分大小写

 

例1:

 <input type="checkbox" name="hobby" id="hobby1">  音乐
  <input type="checkbox" name="hobby" id="hobby2">  登山
  <input type="checkbox" name="hobby" id="hobby3">  游泳
  <input type="checkbox" name="hobby" id="hobby4">  阅读
  <input type="checkbox" name="hobby" id="hobby5">  打球
  <input type="checkbox" name="hobby" id="hobby6">  跑步 
  <input type="button" value = "全选" id="button1">
  <input type="button" value = "全不选" id="button1">

1. document.getElementsByTagName("input"),结果为获取所有标签为input的元素,共8个。

2. document.getElementsByName("hobby"),结果为获取属性name="hobby"的元素,共6个。

3. document.getElementById("hobby6"),结果为获取属性id="hobby6"的元素,只有一个,"跑步"这个复选项。

 

例2:

<!DOCTYPE HTML>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
        <title>无标题文档</title>
    </head>
    
    <body>
        <form>
            请选择你爱好:<br>
            <input type="checkbox" name="hobby" id="hobby1">  音乐
            <input type="checkbox" name="hobby" id="hobby2">  登山
            <input type="checkbox" name="hobby" id="hobby3">  游泳
            <input type="checkbox" name="hobby" id="hobby4">  阅读
            <input type="checkbox" name="hobby" id="hobby5">  打球
            <input type="checkbox" name="hobby" id="hobby6">  跑步 <br>
            <input type="button" value = "全选" onclick = "checkall();">
            <input type="button" value = "全不选" onclick = "clearall();">
            <p>请输入您要选择爱好的序号,序号为1-6:</p>
            <input id="wb" name="wb" type="text" >
            <input name="ok" type="button" value="确定" onclick = "checkone();">
        </form>
        <script type="text/javascript">
        //checkall(),当点击"全选"按钮时,将选中所有的复选项。
        //document.getElementsByTagName("input")获取的是所有input标签,包括复选项和按钮,所以要判断是否是复选项,如是选中。
        function checkall(){
        var hobby = document.getElementsByTagName("input");
        for(i=0; i<hobby.length; i++){
        if(hobby[i].type == "checkbox")
        {
        hobby[i].checked = true;
        }
        }
        }
        //当点击"全不选"按钮时,将取消所有选中的复选项。
        function clearall(){
        var hobby = document.getElementsByName("hobby");
        for(i=0; i<hobby.length; i++){
        hobby[i].checked = false;
        }
        }
        //在文本框中输入输入1-6数值,当点击"确定"按钮时,根据输入的数值,通过id选中相应的复选项。
        function checkone(){
        var j=document.getElementById("wb").value;
        //因为元素的id是hobby1、hobby2这样的,"hobby"+j 就是要组成hobby2这样的字符串
        var hobby=document.getElementById("hobby"+j);
        hobby.checked = true;
        }
        
        </script>
    </body>
</html>

 

getAttribute()方法

通过元素节点的属性名称获取属性的值

语法:

 elementNode.getAttribute(name) 

说明:

1、elementNode:使用getElementById()、getElementsByTagName()等方法,获取到的元素节点。

2、name:要想查询的元素节点的属性名字

Eg:获取h1标签的属性值

<!DOCTYPE HTML>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
        <title>getAttribute()</title>
    </head>
    
    <body>
        <h1 id="alink" title="getAttribute()获取标签的属值" onclick="hattr()">点击我,获取标签的属值</h1>
        <script type="text/javascript">
            function hattr(){
                var anode=document.getElementById("alink");
                var attr1=anode.getAttribute("id");
                var attr2=anode.getAttribute("title");
                document.write("h1标签的ID:"+attr1+"<br>");
                document.write("h1标签的title:"+attr2);
            }
        </script>
    </body>
</html>

 

setAttribute()方法

增加一个指定名称和值的新属性,或者把一个现有的属性设定为指定的值。

语法:

 elementNode.setAttribute(name, value) 

说明:

1、name:要设置的属性名

2、value:要设置的属性值

注意:

1、把指定的属性设置为指定的值,如果不存在具有指定名称的属性,该方法将创建一个新属性。

2、类似于getAttribute()方法,setAttribute()方法只能通过元素节点对象调用函数。

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>getAttribute()和setAttribute()方法</title>
</head>
<body>
  <p id="intro">我的课程</p>  
  <ul>  
    <li title="JS">JavaScript</li>  
    <li title="JQ">JQuery</li>  
    <li title="">HTML/CSS</li>  
    <li title="JAVA">JAVA</li>  
    <li title="">PHP</li>  
  </ul>  
  <h4>以下为li列表title的值,当title为空时,新设置值为"WEB前端技术":</h4>
<script type="text/javascript">
  var Lists=document.getElementsByTagName("li");
  for (var i=0; i<Lists.length;i++)
  {
      //使用getAttribut()方法获取元素属性值,保存在变量text。
    var text=Lists[i].getAttribute("title");
    document.write(text +"<br>");
    if(text=="")
    {
    //使用setAttribute()方法设置title属性值。    
    Lists[i].setAttribute("title","WEB前端技术");
    document.write(Lists[i].getAttribute("title")+"<br>");
    }
  }
</script>
</body>
</html>

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM