2013-02-13 57 views
2

这里的用户点击选择是mycode的:jQuery的ID根据URL

$(document).ready(function() { 

      $("#myLink1").click(function(){ 
      Foo Bar... 

     }); 
    }); 

<a href = "#" id="myLink1"> click my Link <a> 

<a href = "#" id="myLink2"> click my Link2 <a> 

<a href = "#" id="myLink3"> click my Link3 <a> 

的第一个精品,而不是重复代码,我怎么能捕获点击了哪些用户,为说,如果用户点击了2或3 #mylink1必须是一些如何取代有没有任何通用的方式?请帮我

+1

是的,有:当用户点击其中一个链接时,你想要发生什么? – 2013-02-13 22:37:11

+0

看到这个例子http://codepen.io/anon/pen/IBHzh – 2013-02-13 23:07:31

回答

0

使用一个类来代替:

$(document).ready(function() { 
    $(".your-class").click(function(){ 
    // stuff here 
    }); 
}); 

<a href="#" class="your-class" id="myLink1">Link</a> 
<a href="#" class="your-class" id="myLink2">Link2</a> 
<a href="#" class="your-class" id="myLink3">Link3</a> 
+1

这是怎么回答这个问题? – 2013-02-13 22:38:55

+0

@DavidThomas他想知道他如何应用这个事件,而不必为每个ID做这件事。这是迄今为止所有人对这个问题的理解。 – David 2013-02-13 22:41:40

+0

问题是,问题并不清楚,您建议添加一个类并使用该类来附加点击处理程序。这*可能回答这个问题,但我并不确信问题是什么,这使得这个(和其他)答案有点虚假和推测。 – 2013-02-13 22:45:21

0

试试这个

$("a").on('click', function(){ 
      Foo Bar... 

}); 
0

你应该给你的一个标记相同的类,然后你的jQuery选择更改为

$('.yourClass').click(function(){ 
    $(this).whatYouWantToDo() 
}); 

所以$(this)仅指被点击的那个。

2

使用ID

$(document).ready(function() { 
    $(".your-class").click(function(){ 
    alert(this.id); 
    }); 
}); 

<a href = "#" class="your-class" id="myLink1"> click my Link </a> 
<a href = "#" class="your-class" id="myLink2"> click my Link2 </a> 
<a href = "#" class="your-class" id="myLink3"> click my Link3 </a> 
+0

http://codepen.io/anon/pen/uHDfa – Shanimal 2013-02-13 22:40:23

1

不添加类到你的链接,你可以用id选择这样做。

$(document).ready(function() { 
    $('[id*="myLink"]').click(function() { 
     //Function Code 
    }); 
});