サーバー側が次の形式の結果のHTMLを生成している状況があります。
<div id="myDiv">
<ul>
<li class="imageElem">
<img src="..."/>
<div id="imgInfo">
<p class="imgDetail">
Image Title #1
</p>
</div>
</li>
<!-- Etc. for many images (1 <li> per <img>) -->
</ul>
</div>
このリストをループして、jQueryを使用してオンザフライでDOM操作を実行しようとしています。私は3つのボトルネックに直面しています:
- またはを持たない
myDivの単一の<ul>子を取得する方法(およびこれらのいずれかを生成するようにサーバー側のコードを変更することは悪夢になります); とidclass <li>それぞれの<img>一人っ子を取得する方法。サーバーにID/クラス属性を生成させるための上記と同じ。と<li>それぞれの1人の子供のテキストを取得する方法<p>(例:「画像タイトル#1」)
私は(これらの3つの問題のそれぞれについて)次のことを無駄にしようとしています:
var myDivUL = document.getElementById("myDiv").ul;
for(i = 0; i < myDivUL.length; i++)
{
var currImageElem = myDivUL[i].img;
var currPText = myDiv[i].div.p.text;
// ... rest of function omitted for brevity
}
私はここで何が間違っているのですか?id / class属性にアクセスせずに3つの要素を取得するには、何を変更する必要がありますか?前もって感謝します!