2

我必须在单击链接时创建这样的功能会在弹出框中显示产品详细信息这是使用我不理解的大 jquery 代码

这是我的jsfiddle ,我试图为一些链接提供具有不同#tags的相同类来显示div,我希望当我点击链接时,它会解析相同的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 节点this(很像$('div')将查找标记的 html 节点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 回答