為什么輸出格式是這樣?
<!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為空時,新設(shè)置值為"WEB前端技術(shù)":</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=="")
? ? {
? ? ? Lists[i].setAttribute("title","WEB前端技術(shù)");
? ? document.write(Lists[i].getAttribute("title")+"<br>");
? ? // ?document.write("aaa"+"<br />");
? ? }
? }
</script>
</body>
</html>
代碼如上:為啥會空多一行輸出,我測試過如果輸出語句是放在IF里面的話會出現(xiàn)這種情況,否則不會。
2018-01-25
? ?var text = Lists[i].getAttribute("title");
? ? document.write(text+"<br />");//當i循環(huán)為2和4時,text="",此時輸出空+換行(相當于document.write(""+"<br />")),所以會空出一行。
把這一行寫在if-else語句的else里就不會空出一行
for (var i=0; i<Lists.length;i++)
? {
? ? ? ?var text = Lists[i].getAttribute("title");
? ? if(text=="")
? ? {
? ? ? Lists[i].setAttribute("title","WEB前端技術(shù)");
? ? document.write(Lists[i].getAttribute("title")+"<br>");
? ? //? document.write("aaa"+"<br />");
? ? }else{
? ? document.write(text+"<br />");
? ? }
? }
2018-01-25
?var text = Lists[i].getAttribute("title");
? ? document.write(text+"<br />");
就這兩行,你的就算text是空的,也會輸出一次