今天在某课网上复习js,突然卡在一个小例子上。反复做了几遍就是报错。终于查询w3c才找到错误的源头。

这里记录一下,谨防以后又忘了。

错误码:

<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>

正确码:

<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[i].getAttribute("title");
if(text!=null)
{
document.write(text+"<br>");
}
}
</script>

注意使用getAttribute()方法时,获取的标签元素必须标记下标。getAttribute()把元素看做一个数组。若不写下标getAttribute()报错。

05-02 21:55