这是我的代码:
<a href='P001' class='basic'>Read More</a><br>
<a href='P002' class='basic'>Read More</a><br>
<a href='P003' class='basic'>Read More</a><br>
我的剧本:
$('.basic').click(function(id){
$.ajax({
url: 'display_pro.php?id='+$('.basic').attr('href'),
success: function(data) {alert(data);}
});
});
当我点击所有链接时,它总是得到'P001'。 问题是什么? 谢谢你的帮助。
答案 0 :(得分:6)
$('.basic').click(function(e) {
var link = this; // <-- best practice
$.ajax({
url: 'display_pro.php?id=' + link.href, // use link here...
success: function(data) {alert(data);}
});
return false; // <-- needed, prevents page from jumping into another page..
});
答案 1 :(得分:4)
而不是+$('.basic').attr('href')
你应该这样做:
$(this).attr('href')
否则,您再次要求将该类作为“基本”的项目集并获取第一个的值。 $(this)
(或e.target
)确保您获得当前点击的项目。另外,FYI,传递给函数的参数不是id
- 它是一个事件对象。
答案 2 :(得分:1)
你需要使用 $(this).attr('href')而不是 $('。basic')。attr('href')
$('.basic').click(function(id){
$.ajax({
url: 'display_pro.php?id='+$(this).attr('href'),
success: function(data) {
alert(data);
}
});
});
答案 3 :(得分:0)
首先,请将您的代码放入代码内部``
<a href='P001' class='basic'>Read More</a>
<a href='P002' class='basic'>Read More</a>
<a href='P003' class='basic'>Read More</a>
以下是答案:
$('.basic').click(function (id) {
$.ajax({
url: 'display_pro.php?id=' + $(this).attr('href'), //use $(this) so it knows which link you clicked on
success: function (data) {
alert(data);
}
});
});