2012-03-05 91 views
0

我试图给出相同的功能,2个元素jQuery的多个元素。点击(函数()

下面是我得到了什么这是行不通的。

$(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; 
    }); 
}); 

但是不能和他们一起工作。

建议?

+0

你能告诉我们你的HTML? – 2012-03-05 21:40:39

+2

代码对我来说看起来很好。 – 2012-03-05 21:41:57

+0

这似乎不太可能;你确定选择器是正确的吗?你有没有错过一个逗号,或拼写错误? – 2012-03-05 21:42:16

回答

0

试试这个:

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

使用类的名称,而不是ID。

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

#menu a works,it's the p.bodytext a that that does not with the code I'm using。 – Nicole 2012-03-05 22:04:37

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; 
    }); 
});