dポイントプレゼントキャンペーン実施中!

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

A 回答 (4件)

すでに回答のあるとおり、idを付けられるならそれで一意に取得可能です。


それが不可能ならor複数を一括で取得したいなら、getElementsByTagName で可能です。

この回答への補足

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

補足日時:2008/05/27 09:51
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/05/27 09:50

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')">
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/05/27 09:53

obj = document.getElementById('myDL').getElementsByTagName('dd');


for(i=0;i<obj.length;i++){alert(obj[i].innerHTML);}
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/05/27 09:51

提示頂いているコードではdl要素に対してid属性を設定することでdl要素を取得できるようにしているわけですが、


同じことをdd要素に対してもやればいいのではないでしょうか?
そこまで出来てて何がわからないのでしょう???
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/05/27 09:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!