街中で見かけて「グッときた人」の思い出

jquery 初級者です。

下の様なaタグをクリックした時に、(リンク先に移動し)hrefの値と紐付けされているdivを開きたいのですが、どうしてもうまくいきません。



<a class="btn" href="#contents">開く</a>

<div id="contents" style="display:none;">
開きたいコンテンツ。通常は見えない。
</div>

※実際はこうしたリンク要素がたくさんあるため、hrefの値を取得する形にしたいのです。

どなたか詳しい方宜しくお願い致します。

A 回答 (2件)

どういうルールになっているのか書いて無いので、まったくのあてずっぽですが…



$("a.btn").click(function(){
$($(this).attr("href")).show();
});

とか?
    • good
    • 1
この回答へのお礼

説明不足ですいません。解決しました。
ありがとうございました。

お礼日時:2013/08/29 18:19

だから初心者どもは「うまくいかない」だけで説明した気になるなと…


「何をしたか」「どうだめだったか」「どこが分からないか」が無い質問なんて(どんなに詳しく文章を書いても)丸投げと変わりません。

●以下回答。
click()に、該当箇所の表示と該当箇所への移動を両方入れるだけ。

ちなみに非表示化はしなくてもいいんですか?
しないなら開きっぱなしでも大して変わらないと思う。

この回答への補足

失礼しました。
下記で、#contentsに移動、表示にすることはできたのですが、
$(function(){
$(".btn").on("click", function() {
$("#contents").show();
});

こうしたリンクが数十リンクあるため、hrefの値と、クリックした時に表示させたいdivのidの値を紐付けするような形でできないかと考えています。

以下でhrefの値を取得できるとでていましたが・・・
var url = $("a").attr("href");
取得した値を使って、そのdivを開くという書き方が分からない状況です。

デフォルトでは<div>要素はdisplay:none;で全て非表示になっているという前提です。

宜しくお願い致します。

補足日時:2013/08/29 13:23
    • good
    • 0

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