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>标签吗