为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

阳火锅 2018-01-03 16:42:15
<!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>
查看完整描述

4 回答

?
千秋此意

TA贡献158条经验 获得超187个赞


还能说出个什么所以然来……

错误就是你的con变量获取的是一组元素,一个HTMLCollection对象,哪儿来的getAttribute方法……

查看完整回答
6 反对 回复 2018-01-03
已采纳
?
qq_杀意隆_0

TA贡献93条经验 获得超29个赞

  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"


查看完整回答
1 反对 回复 2018-01-04
?
JH鹰

TA贡献14条经验 获得超1个赞

是的  你获取的是  li 的集合  5个li你全获取了 getAttribute 获取属性只会获取一个li的属性,如果你给电脑一个集合电脑无法识别肯定说,  哎呀!哥们你给的不是一个函数,我不认识

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

    var can = con[0].getAttribute("title");

      console.log(can);

你按我修改的试试 ,设置也是一样,要给的明确;认可就给个  赞ok

查看完整回答
1 反对 回复 2018-01-03
?
施帅帅

TA贡献56条经验 获得超30个赞

。。。。

查看完整回答
反对 回复 2018-01-03
  • 4 回答
  • 0 关注
  • 2419 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信