总角晏晏
2015-06-11 16:55
Lists[1]和Lists[2]之间显示为什么用一个空行?
<script type="text/javascript">
var Lists=document.getElementsByTagName("li");
for (var i=0; i<Lists.length;i++)
{
document.write(text +"<br>");
if(text=="")
{
Lists[i].setAttribute('title',Lists[i].innerText);
document.write(Lists[i].getAttribute("title")+"<br>");
}
}
</script>因为if判断之前就打印了一遍document.write(text +"<br>");会把空的title也 打印出来。if判断之后又打印了一遍document.write(Lists[i].getAttribute("title")+"<br>");所以title为空的被打印了两遍,第一遍没值,显示为空行,第二遍有你所赋给的值。
<script type="text/javascript">
var Lists=document.getElementsByTagName("li");
for (var i=0; i<Lists.length;i++)
{
var text = Lists[i].getAttribute('title');
if(text=="")
{
Lists[i].setAttribute('title',Lists[i].innerText);
document.write(Lists[i].getAttribute("title")+"<br>");
}else{
document.write(text +"<br>");
}
}
</script>
因为在这里setAttribute是新建了一个属性值是“WEB前端技术”的title属性。
把 == "" 换成 == null
不是有个<br>标签吗
JavaScript进阶篇
469061 学习 · 22582 问题
相似问题