jqueryを使った制御に関して質問です。


まずは下記のソースを見て頂ければと思います。
■html
<div class="test">
<img src="a.gif" class="link" />
<div class="testlist">その1</div>
</div>

<div class="test">
<img src="a.gif" class="link" />
<div class="testlist">その2</div>
</div>


<!--上記内容の繰り返し-->

上記のようなソースがあり、各「link」をクリックすると、すぐ下の
「testlist」の内容が表示するといった作りにしようとしています。
ですが、
$(".link").click(function() {
$(".testlist").fadeIn('nomal');
});
と書くと当然全てのtestlistが開いてしまいます、クラス名は変えずに個別に開く方法はないでしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2009/03/04 23:25:14
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:kent0608 No.1

回答回数220ベストアンサー獲得回数23

ポイント60pt

特定したい要素にid属性を付与してください。

この場合、testlistとlinkに、何か一意のidを付与させる必要があります。

その上でjavascriptを訂正してください。

idとclassは併用することができます。

http://q.hatena.ne.jp/1096602664

id:finnapple

ご回答ありがとうございます。

ですが今回はできるだけhtml側の記述は変更せずjavascriptだけで処理する方法がよいです。

説明不足でした、すみません。

2009/03/04 23:25:08
  • id:Mars
    $(".link").click(function() {
    $("+ .testlist",this).fadeIn('nomal');
    });

    こんなんで大丈夫だと思うけど。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません