サーバー側が次の形式の結果の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>
子を取得する方法(およびこれらのいずれかを生成するようにサーバー側のコードを変更することは悪夢になります); とid
class
<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つの要素を取得するには、何を変更する必要がありますか?前もって感謝します!