6

我在 HTML 中有一类图像,IDimg1为 , img2,..., img9。我想创建a带有 ID link_img1link_img2、 ... 的链接(HTML 标记),link_img9这样每当我点击一个链接时,就会出现相应的图像。

我正在考虑将所有链接分配给同一个类,然后为该类添加一个 JQuery 单击侦听器,并在侦听器内部查找该链接的 ID,并显示相应的图像。如何为添加 JQuery 侦听器,以及如何从元素中获取 ID?

4

5 回答 5

10

您不应该使用a标签的 id 来定义它们的目标。最好使用该href属性:

<img id="img1" ...>
<img id="img2" ...>
<a href="#img1" class="image-link">Click me</a>
<a href="#img2" class="image-link">Click me</a>

jQuery("a.image-link").click(function(){
  $(this.href).show();
});

这使您可以为同一图像创建两个链接。

于 2013-03-16T18:22:30.573 回答
3

尝试:

$('a.yourClassName').click(function(){
   $('img#'+ this.id).show();         
});
于 2013-03-16T18:33:19.010 回答
2

要为类添加监听器,只需使用 jQuery 方式选择它(即 $('elem.class')。然后使用 attr() 获取 id。

于 2013-03-16T18:22:22.633 回答
2

这里。正如在其他一些答案中所提到的,id这可能不是确定您应该采取什么行动的最佳方式。使用您认为合适的其他属性

$('a.some-class').click(function() {
    switch (this.id) {
        case 'one':
          // do something
          break;
        case 'two':
          // do something
          break;
        default:
          // do something
          break;
    }
});
于 2013-03-16T18:22:54.497 回答
1

试试这个

$('a.yourClass').click(function(){
    var $linkID= $(this).attr('id'); 
    $('img#'+ $linkID).show();         
});
于 2013-03-16T18:24:03.623 回答