- ベストアンサー
<a>タグのテキストを取得
jqueryを使っています。 $('a');を使用しページ内のaタグを全て抜き出すと hrefの属性値が表示されてしまい、取り出したい<a>タグに 囲まれたテキストを取得することが出来ません。 <a href="http://yahoo.co.jp">Yahoo!</a> <a href="http://google.co.jp">Google</a> 取り出したい内容は「Yahoo!」及び「Google」のテキスト部分です。 恐らく簡単な内容だとは思いますがご教授お願い出来ますでしょうか?
- みんなの回答 (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()" />
その他の回答 (1)
- LOHA
- ベストアンサー率52% (203/388)
text()やhtml()を使えば良いかと。 $('a').each(function() { document.write($(this).text()); }); >$('a');を使用しページ内のaタグを全て抜き出すと >hrefの属性値が表示されてしまい、取り出したい<a>タグに >囲まれたテキストを取得することが出来ません。 属性値を取り出すにはattr("href")とでもしないといけないと思いますよ。
補足
仰るように属性値を取り出す場合はattr("href")じゃないとダメなハズなんですけど、何故かURLが表示されてしまうのです。 <a>タグに挟まれたテキスト文が欲しいだけなんですけど。 有難う御座いました。
お礼
ご回答有難う御座います。 取り合えず1段階はyambejp様のでクリア出来ました。 この「#text」ってのが意味がわからなかったのですが、 文字列が取得出来ましたのでよしと自分の中では理解してます。