JQuery锚链接事件处理程序不适用于"这个"

时间:2015-12-14 06:49:05

标签: javascript jquery

为什么此代码不显示href链接

$("a.cliRedir").click(function() {
    alert($("this").attr('href'))
});

4 个答案:

答案 0 :(得分:1)

因为您使用的是"this"字符串。您的代码现在实际上搜索名为<this></this>的HTML标记,这是无意义的。

this是一个对象,它应该是:

$("a.cliRedir").click(function() {
    alert($(this).attr('href'))
});

另一个重要的一点是你不需要jQuery来获取href,并且在可能的情况下使用vanilla JS是个好主意,因为它提高了可读性和性能:

$("a.cliRedir").click(function() {
    alert(this.href);
});

答案 1 :(得分:0)

使用this而不使用双引号。

$("a.cliRedir").click(function() {
    alert($(this).attr('href'))
});

答案 2 :(得分:0)

尝试:

$('body').on('click','a.cliRedir',function(e) {
    e.preventDefault();
    alert($(this).attr('href'))
});

答案 3 :(得分:0)

$(document).ready(function(){
  $('a').click(function(){
      alert($(this).attr('href'));
  });
});

在您的代码中,您在警告时缺少分号。