亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

求解:下面代碼為什不是將現有的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>



正在回答

4 回答

因為你輸出的是text,這個text變量沒變啊,應該是

document.write(Lists[i].getAttribute('title')+"<br>")


0 回復 有任何疑惑可以回復我~
#1

油潑褲帶面 提問者

嗯,我得到我想要的東西了,只要把if語句里面的write移出來就可以了,text那個write取消就好了!感謝
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>


0 回復 有任何疑惑可以回復我~

你上面已經有了一個documen.write()了,所以在判斷之前就會輸出啊

0 回復 有任何疑惑可以回復我~
#1

油潑褲帶面 提問者

我剛才試了一下,就是說把if那段提前,將第一個write放在最后,按照JS從前到后的運行方法來說,應該是先修改后顯示,但是結果還是一樣的,title=JS屬性還是會顯示出來JS,這是為什么?
2017-04-29 回復 有任何疑惑可以回復我~

并沒有定義新屬性啊,setAttribute修改的就是title的值啊,沒有新定義title啊,一個Lists[i]只有一個title屬性

0 回復 有任何疑惑可以回復我~
#1

油潑褲帶面 提問者

它的輸出結果是:JQ web前段技術開發 JS JAVA,上述代碼我把title=JS不是已經改為“WEB前段技術開發”了嗎?顯示結果里面應該不會有JS才對,為什么還會出現JS?
2017-04-29 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

求解:下面代碼為什不是將現有的title屬性改變,而是在原有的屬性后面添加了一個新的屬性title,setAttribute不是可以將現有的屬性改變或者將沒有的屬性添加進去嗎?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號