猿问

为什么这行代码运行不了,求大神说出个所以然,不要什么复制粘贴来教我改代码。。

<!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");

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

   alert(can);

 </script> 

</body>

</html>


阳火锅
浏览 2420回答 4
4回答

千秋此意

还能说出个什么所以然来……错误就是你的con变量获取的是一组元素,一个HTMLCollection对象,哪儿来的getAttribute方法……

qq_杀意隆_0

  var con = document.getElementsByTagName("li")[0];   // 或   var con = document.getElementsByTagName("li")[2];   // 或   var con = document.getElementsByTagName("li")[3];就可以了。document.getElementsByTagName("li")获得的是5个li元素的集合,是一个类数组对象。这个集合不能直接运用getAttribute方法。要通过索引取得里面的元素,如document.getElementsByTagName("li")[0]表示取得第一个li元素。元素就可以用getAttribute方法。如:document.getElementsByTagName("li")[0].getAttribute('title'); //返回 "第1个li"document.getElementsByTagName("li")[1].getAttribute('title'); //返回 ""document.getElementsByTagName("li")[2].getAttribute('title'); //返回 "第3个li"

JH鹰

是的  你获取的是  li 的集合  5个li你全获取了 getAttribute 获取属性只会获取一个li的属性,如果你给电脑一个集合电脑无法识别肯定说,  哎呀!哥们你给的不是一个函数,我不认识    var con = document.getElementsByTagName("li");    var can = con[0].getAttribute("title");      console.log(can);你按我修改的试试 ,设置也是一样,要给的明确;认可就给个  赞ok

施帅帅

。。。。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答