2016-04-08 2 views
-1

は、このHTMLコードを考えてみましょう:forループを使用して、すべての子にアクセスしてテキストを1つずつ変更するにはどうすればよいですか?

<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

id3のすべてのDiv要素にテキストを挿入しますか? – Maantje

+0

IDは一意でなければなりません! – Oriol

+0

はい。私はすべてのdivに挿入したい。 –

答えて

2

複数のdiv要素を同じIDで使用しました。 IDは、elementごとに一意である必要があり、問題が発生しています。

あなたはdivのためのclassesを使用して方がいいでしょう:

<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

うん、それは今働いている。 –

関連する問題