2016-04-08 48 views
-1

考慮這個HTML代碼:如何使用for循環訪問所有孩子並逐個更改文本?

<div id="id1"> 
    <div id="id2"></div><br> 
    <div id="id3"></div> 
    <br> 
    <div id="id2"></div><br> 
    <div id="id3"></div> 
    <br> 
    <div id="id2"></div><br> 
    <div id="id3"></div> 
    <br> 
</div> 

這是我的腳本:

for($olindex=0; $olindex<3; $olindex++){ 
    $("#id1").children("#id3").eq($olindex).text(result2[$olindex]); 
} 

現在事情不工作:有什麼不對result2[$olindex]但仍文字不與id3顯示中的每個元素。也許我寫了錯誤的DOM代碼。我如何糾正或改變它使其工作?

+0

你想插入文本在ID爲id3的每個Div元素? – Maantje

+0

ID必須是唯一的! – Oriol

+0

是的。我想插入每個div。 –

回答

2

您使用了幾個div元素與ID相同。 應該是唯一的每element,這是造成您的問題。

你最好不要使用classes您的div:

<div id="id1"> 
    <div class="id2"></div><br> 
    <div class="id3"></div> 
    <br> 
    <div class="id2"></div><br> 
    <div class="id3"></div> 
    <br> 
    <div class="id2"></div><br> 
    <div class="id3"></div> 
    <br> 
</div> 

然後,您可以使用您的jQuery選擇一個類來代替:

$("#id1").children(".id3") 
+0

ID是唯一的嗎?和類可以是相同的? –

+0

是的,ID應該是唯一的。類可以用於幾個元素。 – Matthijs

+0

第一個jQuery選擇器應該是$(「#id1」) - 帶有散列,而不是點 – antix

0

我想這是你想要達到的目標:

'<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> 
</head> 

<div id="id1"> 
    <div id="id2"></div><br> 
    <div id="id3"></div> 
    <br> 
    <div id="id2"></div><br> 
    <div id="id3"></div> 
    <br> 
    <div id="id2"></div><br> 
    <div id="id3"></div> 
    <br> 
</div> 

<script> 

for($olindex=0; $olindex<3; $olindex++){      
    $("#id1").children("#id3").eq($olindex).text(result2[$olindex]); 

} 

</script>' 

如果您使用的是ID,您需要使用「#」而不是「。」。 「」是爲了課程。 另外,我不建議對多個元素使用相同的ID。

3

您的選擇器不正確。如果你想選擇由ID元素,使用#

var result2 = [0,1,2]; 
 
for(var $olindex=0; $olindex<3; $olindex++) { 
 
    $("#id1").children("#id3").eq($olindex).text(result2[$olindex]); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="id1"> 
 
    <div id="id2"></div> 
 
    <div id="id3"></div> 
 
    <div id="id2"></div> 
 
    <div id="id3"></div> 
 
    <div id="id2"></div> 
 
    <div id="id3"></div> 
 
</div>

這就是說,ID必須是唯一的。使用另一種方法,例如類。

+0

是的,它現在正在工作。 –

相關問題