<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
</head>
<body>
<p id="intro">我的课程</p>
<ul>
<li title="JS">JavaScript</li>
<li title="JQ">JQuery</li>
<li title="">HTML/CSS</li>
<li title="JAVA">JAVA</li>
<li title="">PHP</li>
</ul>
<h1>以下为li列表title的值,当title为空时,新设置值为"WEB前端技术":</h1>
<script type="text/javascript">
var Lists=document.getElementsByTagName("li");
for (var i=0; i<Lists.length;i++)
{
var text=Lists[i].getAttribute("title");
document.write(text +"<br>");
if(text=="")
{
t=Lists[i].setAttribute("title","WEB前端技术");
document.write(Lists[i].getAttribute("title")+"<br>");
//为什么不能直接输出 document.write(t+"<br>") 呢?
}
}
</script>
</body>
</html>
setAttribute()方法没有返回值。
抛开返回值不说,你把t的右边带入到下面去,document.write(t+"<br>")--->document.write(Lists[i].setAttribute("title","WEB前端技术")+"<br>")跟document.write(Lists[i].getAttribute("title")+"<br>")显然也是2回事
你是要显示li里面title的值的,肯定要get一个title属性啦,才能得到它的值,不然怎么得到,,,,set是设置一下title的值,,,
get是得到,set是赋予,如果要得到返回值,肯定只能通过得到函数啊。。个人理解。。。