• ベストアンサー

<a>タグのテキストを取得

jqueryを使っています。 $('a');を使用しページ内のaタグを全て抜き出すと hrefの属性値が表示されてしまい、取り出したい<a>タグに 囲まれたテキストを取得することが出来ません。 <a href="http://yahoo.co.jp">Yahoo!</a> <a href="http://google.co.jp">Google</a> 取り出したい内容は「Yahoo!」及び「Google」のテキスト部分です。 恐らく簡単な内容だとは思いますがご教授お願い出来ますでしょうか?

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

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

アンカーに挟まれるのは必ずしもテキストとは限りません。 javascriptで普通にとるならこんなやりかたもできます。 <script> function check(){ var a=document.getElementsByTagName("a"); for(var i=0;i<a.length;i++){ var n=a[i].firstChild; while(n){ if(n.nodeName=="#text") alert(n.nodeValue); n=n.nextSibling; } } } </script> <a href="http://yahoo.co.jp">Yahoo!<img src="1.jpg">Yohaa!</a> <a href="http://google.co.jp">Google</a> <input type="button" value="check" onclick="check()" />

atlantic32
質問者

お礼

ご回答有難う御座います。 取り合えず1段階はyambejp様のでクリア出来ました。 この「#text」ってのが意味がわからなかったのですが、 文字列が取得出来ましたのでよしと自分の中では理解してます。

その他の回答 (1)

  • LOHA
  • ベストアンサー率52% (203/388)
回答No.1

text()やhtml()を使えば良いかと。 $('a').each(function() { document.write($(this).text()); }); >$('a');を使用しページ内のaタグを全て抜き出すと >hrefの属性値が表示されてしまい、取り出したい<a>タグに >囲まれたテキストを取得することが出来ません。 属性値を取り出すにはattr("href")とでもしないといけないと思いますよ。

atlantic32
質問者

補足

仰るように属性値を取り出す場合はattr("href")じゃないとダメなハズなんですけど、何故かURLが表示されてしまうのです。 <a>タグに挟まれたテキスト文が欲しいだけなんですけど。 有難う御座いました。

関連するQ&A