• 締切済み

jqueryでhrefの値を取得して代入する方法

jquery 初級者です。 下の様なaタグをクリックした時に、(リンク先に移動し)hrefの値と紐付けされているdivを開きたいのですが、どうしてもうまくいきません。 <a class="btn" href="#contents">開く</a> <div id="contents" style="display:none;"> 開きたいコンテンツ。通常は見えない。 </div> ※実際はこうしたリンク要素がたくさんあるため、hrefの値を取得する形にしたいのです。 どなたか詳しい方宜しくお願い致します。

みんなの回答

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

どういうルールになっているのか書いて無いので、まったくのあてずっぽですが… $("a.btn").click(function(){ $($(this).attr("href")).show(); }); とか?

ssdomjjjj
質問者

お礼

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

回答No.1

だから初心者どもは「うまくいかない」だけで説明した気になるなと… 「何をしたか」「どうだめだったか」「どこが分からないか」が無い質問なんて(どんなに詳しく文章を書いても)丸投げと変わりません。 ●以下回答。 click()に、該当箇所の表示と該当箇所への移動を両方入れるだけ。 ちなみに非表示化はしなくてもいいんですか? しないなら開きっぱなしでも大して変わらないと思う。

ssdomjjjj
質問者

補足

失礼しました。 下記で、#contentsに移動、表示にすることはできたのですが、 $(function(){ $(".btn").on("click", function() { $("#contents").show(); }); こうしたリンクが数十リンクあるため、hrefの値と、クリックした時に表示させたいdivのidの値を紐付けするような形でできないかと考えています。 以下でhrefの値を取得できるとでていましたが・・・ var url = $("a").attr("href"); 取得した値を使って、そのdivを開くという書き方が分からない状況です。 デフォルトでは<div>要素はdisplay:none;で全て非表示になっているという前提です。 宜しくお願い致します。

関連するQ&A