• ベストアンサー

javascript, getElementsByTagName('a')

つい先日質問させて頂きまして理解出来たと思っていたのですが、 やはり目的が達成出来ず、困っています。 <ul> <li><a href="http://yahoo.co.jp/">Yahoo!</a></li> <li><a href="http://google.co.jp/">Google</a></li> <li><a href="http://goo.ne.jp/">Goo</a></li> <li><a href="http://amazon.co.jp">Amazon</a></li> <li><a href="http://bing.com">bing</a></li> </ul> このリストの1番目と3番目のテキスト部分のみを抜き出したいと思います。 var user=document.getElementsByTagName('a')[0]; var chara=document.getElementsByTagName('a')[2]; これをそれぞれdocument.writeすれば値を表示させられると思ったのですが出来ませんでした。表示されるのはURLが表示されてしまいます。先日の回答では属性を表示するには他のものを指定しなければと教えて頂きましたが、このスクリプトを動作させればURLが表示されます。 非常に困っているのでまた教えて頂けないでしょうか? 連続質問誠に申し訳御座いません。ググっても全くわかりませんでした。

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

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

<ul> <li><a href="http://yahoo.co.jp/">Yahoo!</a></li> <li><a href="http://google.co.jp/">Google</a></li> <li><a href="http://goo.ne.jp/">Goo</a></li> <li><a href="http://amazon.co.jp">Amazon</a></li> <li><a href="http://bing.com">bing</a></li> </ul> <script> var user=document.getElementsByTagName('a')[0].firstChild.nodeValue; var chara=document.getElementsByTagName('a')[2].firstChild.nodeValue; document.write(user); document.write(chara); </script> ただし、aタグにはさまれるのはテキストノードだけではないので firstChildが必ず文字をかえすわけではないのは注意。 ちなみに#1さんのはIE依存。 innerTextはあまりお勧めできません。やるならinnerHTMLかな

atlantic32
質問者

お礼

出来ました。 非常に困ってましたので助かります。 見ず知らずの者に今回のような ご丁寧な回答有難う御座いました。

その他の回答 (1)

  • yuki4499
  • ベストアンサー率62% (10/16)
回答No.1

よくわからないけどこういうこと? var user=document.getElementsByTagName('a')[0].innerText; var chara=document.getElementsByTagName('a')[2].innerText; alert(user); alert(chara);

関連するQ&A