jQuery多个元素.click(function()

时间:2012-03-05 21:38:41

标签: jquery function click elements

我正在尝试为2个元素提供相同的功能。

这是我所得到的不起作用:

$(document).ready(function() {
   $('#menu a, p.bodytext a').click(function() {
      $('#content_bg').load($(this).attr('href')+' #content');
      return false;
   });
 });

如果我这样做,现在可行了:

$(document).ready(function() {
   $('#menu a').click(function() {
      $('#content_bg').load($(this).attr('href')+' #content');
      return false;
   });
 });

或者像这样:

$(document).ready(function() {
   $('p.bodytext a').click(function() {
      $('#content_bg').load($(this).attr('href')+' #content');
      return false;
   });
 });

但不和他们一起工作。

建议?

4 个答案:

答案 0 :(得分:1)

使用add method向元素添加元素:

$('#menu a').add('p.bodytext a').on();

答案 1 :(得分:0)

试试这个:

$(function() {
   $('#menu, p.bodytext').find('a').on('click', function() {
      $('#content').load($(this).attr('href')+' #content');
      return false;
   });
 });

答案 2 :(得分:0)

使用类名而不是id。

$(document).ready(function() {
   $('.myClass').click(function() {
      $('#content').load($(this).attr('href')+' #content');
      return false;
   });
 });

答案 3 :(得分:0)

我建议添加一个接收参数'e'并执行e.preventDefault()。

像这样

$(document).ready(function() {
  $('#menu a, p.bodytext a').click(function(e) {
     e.preventDefault();
     $('#content').load($(this).attr('href')+' #content');
     return false;
  });
});