ChrisKyle
2017-03-14 20:47
<!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>
你发的代码倒数第9行,”var text=con.getAttribute("title");“这个是错误的,应该改为 “var text=con[i].getAttribute("title");”。先通过getElementsByTagName(“li”),获取所有元素节点即标签节点是“li”的数组集合,一共5个,把这个数组赋值给con。con[i].getarribute("title")的意思是从con[0]所代表的“li”标签中获得属性名称是“title”的属性内容,即"第一个li”,依次从con[0],到con[4],,所以你的倒数第9行得是“con[i].getAttribute("title");”。
con在这边是定义了数组,要加[i]才能获取全部的值,嗯,还是有点小细节的嘛····
var con=document.getElementsByTagName("li");相当于定义了一个关于li标签的数组
所以 var text=con.getAttribute("title");应该改成var text=con[i].getAttribute("title");
var text=con[i].getAttribute("title");
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题