求解:下面代碼為什不是將現有的title屬性改變,而是在原有的屬性后面添加了一個新的屬性title,setAttribute不是可以將現有的屬性改變或者將沒有的屬性添加進去嗎?
<!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=="JS")
??? {
??? Lists[i].setAttribute("title","WEB前端技術");
??? document.write(Lists[i].getAttribute("title")+"<br>");
??? }
? }
</script>
</body>
</html>
2017-04-29
因為你輸出的是text,這個text變量沒變啊,應該是
document.write(Lists[i].getAttribute('title')+"<br>")2017-04-29
<!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"); ????if(text=="") ????{ ????????Lists[i].setAttribute("title","WEB前端技術"); ???? ????} ????if(text=="JS") ????{ ????????Lists[i].setAttribute('title',"js被替換了") ????} ????document.write(Lists[i].getAttribute('title')+"<br>") ???? ??} </script> </body> </html>2017-04-29
你上面已經有了一個documen.write()了,所以在判斷之前就會輸出啊
2017-04-26
并沒有定義新屬性啊,setAttribute修改的就是title的值啊,沒有新定義title啊,一個Lists[i]只有一個title屬性