问答详情
源自:9-5 getAttribute()方法

麻烦大神帮我看看为什么使用getAttribute()方法还是不能将li标签里的title值取出来

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>getAttribute()</title>

</head>

<body>   

<p id="intro">课程列表</p>  

    <ul>  

        <li title="第1个li">HTML</li>  

        <li>CSS</li>  

        <li title="第3个li">JavaScript</li>  

        <li title="第4个li">Jquery</li>  

        <li>Html5</li>  

    </ul>  

<p>以下为获取的不为空的li标签title值:</p>

<script type="text/javascript">

    var con=document.getElementsByTagName("li");

    for (var i=0; i< con.length;i++){

        var text=con.getAttribute("title");

      if(text!=null)

      {

        document.write(text+"<br>");

      }

    } 

 </script> 

</body>

</html>


提问者:慕后端9302138 2016-11-16 15:04

个回答

  • sin30
    2016-12-15 18:26:29

    问题出在这一行代码:var text=con.getAttribute("title");

    前面通过 var con=document.getElementsByTagName("li"); 获取到的con是一个数组,里面有3个li元素。而getAttribute方法操作的对象是数组中的某个元素,而不是con数组本身,改成con[i].getAttribute就好了。

  • 卡兰尼克
    2016-12-01 11:49:15

     应该把 var text=con.getAttribute("title");改成 var text=con[i].getAttribute("title");

    你少了一个二维数组con[i]


  • 古渡人潮中
    2016-11-25 12:58:29

      var text=con.getAttribute("title");改成  var text[i]=con.getAttribute("title");

  • 慕粉4330278
    2016-11-18 11:40:10

    document.getElementsByTagName获取的是数组元素,当将其值存储在变量con中后,想再用变量con时必须加索引[i],(注意:ID获取的是一个元素;Name和TagName获取的是一组元素,即数组元素)。

  • JokerHouse
    2016-11-16 15:39:57

    for (var i=0; i< con.length; i++) {
        var text=con[i].getAttribute("title");
        if (text !== "") {
            document.write(text + "<br>");
        }
    }