2

リンクをクリックすると、このような機能を作成する必要があります。ボックスのようなポップアップに製品の詳細が表示されます。これは、理解できない大きなjqueryコードを使用しています

ここに私のjsfiddleが あります。divを表示するために、いくつかのリンクに同じクラスを別の#tagsで指定しようとしています。リンクをクリックすると、同じのhref値が解決され、対応する結果が表示されますが、うまくいきませんここで正しい方法を提案するのは私のJSです

$(".show").click(function() {
    var link = $('this').attr('href');
  $(link).show();

});

とhtml

<a href="#popup" id="show" class="show">a</a>
<a href="#popup1" id="show1" class="show">b</a>
<a href="#popup2" id="show2" class="show">c</a>

アンカークリックで #popup を表示したい

フィドルの完全なコードと私はこの機能が欲しい

4

2 に答える 2

3

$(this)ではなく、を呼び出す必要があります$('this')

  • $(this)thisによって参照されるオブジェクトを jQuery オブジェクト内にラップし、
  • $('this')タグ付けされた html ノードを探してすべてのドキュメントをトラバースします (タグ付けされた html ノードを探すのとthis同じように); 何もないため、ノードの空のリストが選択されます。$('div')div

作業フィドル: http://jsfiddle.net/Hg4zp/3/

.hide(")(の代わりに を呼び出すタイプミスもありました.hide())

于 2013-03-13T08:22:52.943 に答える
0

この方法を試してください:

$(".show").click(function (e) { //<-----pass the event here
   e.preventDefault(); //<--------------stop the default behavior of the link
   var link = $(this).attr('href'); //<-remove the quotes $(this)
   $(link).show();
});

$(".close").click(function () {
   $(this).closest("div.popupbox").hide(); //<----use .hide(); not .hide(");
});

preventDefault()このような場合は、リンクがクリックされたときに発生するジャンプを停止するために使用する必要があります。

于 2013-03-13T08:46:20.880 に答える