- ベストアンサー
JavaScriptでオブジェクトを取得したい
JavaScriptで特定の<dl>内の<dd>要素(複数)を取得したいと 思っています。<dd>要素の数はページにより変動しますので 不定です。 <dl id="myDL"> <dt>xxx</dt> <dd>@@@</dd> <dd>aaa</dd> </dl> どのようにすればよいでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
すでに回答のあるとおり、idを付けられるならそれで一意に取得可能です。 それが不可能ならor複数を一括で取得したいなら、getElementsByTagName で可能です。
その他の回答 (3)
- yambejp
- ベストアンサー率51% (3827/7415)
DOMっぽく・・・・ <script> function getDD(id){ var tag=document.getElementById(id); var c=tag.firstChild; while(c){ if(c.nodeName=="DD"){ var cc=c.firstChild; while(cc){ if(cc.nodeName=="#text") alert(cc.nodeValue); cc=cc.nextSibling; } } c=c.nextSibling; } } </script> <dl id="myDL"> <dt>xxx</dt> <dd>@@@</dd> <dd>aaa</dd> </dl> <input type="button" value="dl" onclick="getDD('myDL')">
お礼
これも応用が利きそうですね。 どうもありがとうございます!
obj = document.getElementById('myDL').getElementsByTagName('dd'); for(i=0;i<obj.length;i++){alert(obj[i].innerHTML);}
お礼
どうもありがとうございます!
- hirusagari
- ベストアンサー率64% (20/31)
提示頂いているコードではdl要素に対してid属性を設定することでdl要素を取得できるようにしているわけですが、 同じことをdd要素に対してもやればいいのではないでしょうか? そこまで出来てて何がわからないのでしょう???
お礼
どうもありがとうございます!
お礼
どうもありがとうございます!
補足
オブジェクトに対してgetElementsByTagName()できたんですね。 考えればなるほどと思いますが、気づきませんでした。 ありがとうございます。