プロが教えるわが家の防犯対策術!

jqueryを使っています。

$('a');を使用しページ内のaタグを全て抜き出すと
hrefの属性値が表示されてしまい、取り出したい<a>タグに
囲まれたテキストを取得することが出来ません。

<a href="http://yahoo.co.jp">Yahoo!</a>
<a href="http://google.co.jp">Google</a>

取り出したい内容は「Yahoo!」及び「Google」のテキスト部分です。
恐らく簡単な内容だとは思いますがご教授お願い出来ますでしょうか?

A 回答 (2件)

text()やhtml()を使えば良いかと。



$('a').each(function() {
document.write($(this).text());
});

>$('a');を使用しページ内のaタグを全て抜き出すと
>hrefの属性値が表示されてしまい、取り出したい<a>タグに
>囲まれたテキストを取得することが出来ません。

属性値を取り出すにはattr("href")とでもしないといけないと思いますよ。

この回答への補足

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

有難う御座いました。

補足日時:2010/02/23 17:30
    • good
    • 0

アンカーに挟まれるのは必ずしもテキストとは限りません。


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

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

お礼日時:2010/02/23 14:02

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A