我正在重新设置我管理的网站管理部分的页面,以便它使用jQuery和AJAX。在其中一个页面上,我有一个项目列表。每个项目旁边都有一个链接,如下所示:
<a href="delete.php?id=48" class="del_link">delete</a>
如果我给这些链接一个类,我可以轻松地将jQuery函数应用于所有这些,但它们都会以相同的方式调用相同的函数。我的问题是:函数获取项目ID的最佳方法是什么,而不包含与html内联的JavaScript?
更新: 感谢大家的指点。 我最终使用了这个:
$(".del_link").click(function(){
var del_link = $(this).attr('href');
$("#results").load(del_link, function (){
$("#results").show().delay().fadeTo(2000, 0);
})
})
ajax调用的php文件如果被ajax或正常请求以不同的方式响应 - 如果它是ajax它会输出一个响应(例如“Item was successfully successfully”),它可以显示在#results div中。如果某人禁用了javascript,则客户端将被定向到相同的php页面,但是一旦删除该项目,它将重定向它们。
答案 0 :(得分:7)
又快又脏:
$('.del_link').click(function(){
var id = $(this).attr('href').split('=')[1];
// Do something with the ID here
});
警告,如果链接网址包含多个查询字符串参数,则无效。在那种情况下,您必须对attr('href')
值进行一些稍微复杂的解析。
答案 1 :(得分:2)
var id = $('.del_link a').attr('href');
然后解析id。
答案 2 :(得分:2)
在HTML 5中,您可以使用数据属性。像
这样的东西<a href="delete.php?id=48" class="del_link" data-id='48'>delete</a>
和jQuery
$("a.del_link").each(function(){
var id = $(this).attr('data-id');
});
阅读有关HTML 5数据属性的this文章
答案 3 :(得分:0)
当您添加onClick
处理程序时,this
将成为链接。
检查href
属性(使用this.href
)并解析ID。