• ベストアンサー

JavaScriptでオブジェクトを取得したい

JavaScriptで特定の<dl>内の<dd>要素(複数)を取得したいと 思っています。<dd>要素の数はページにより変動しますので 不定です。 <dl id="myDL"> <dt>xxx</dt> <dd>@@@</dd> <dd>aaa</dd> </dl> どのようにすればよいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • _himajin_
  • ベストアンサー率65% (128/195)
回答No.2

すでに回答のあるとおり、idを付けられるならそれで一意に取得可能です。 それが不可能ならor複数を一括で取得したいなら、getElementsByTagName で可能です。

ok_desu
質問者

お礼

どうもありがとうございます!

ok_desu
質問者

補足

オブジェクトに対してgetElementsByTagName()できたんですね。 考えればなるほどと思いますが、気づきませんでした。 ありがとうございます。

その他の回答 (3)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.4

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')">

ok_desu
質問者

お礼

これも応用が利きそうですね。 どうもありがとうございます!

noname#84373
noname#84373
回答No.3

obj = document.getElementById('myDL').getElementsByTagName('dd'); for(i=0;i<obj.length;i++){alert(obj[i].innerHTML);}

ok_desu
質問者

お礼

どうもありがとうございます!

回答No.1

提示頂いているコードではdl要素に対してid属性を設定することでdl要素を取得できるようにしているわけですが、 同じことをdd要素に対してもやればいいのではないでしょうか? そこまで出来てて何がわからないのでしょう???

ok_desu
質問者

お礼

どうもありがとうございます!

関連するQ&A