Jquery href click - 如何启动事件?

时间:2013-01-14 21:41:58

标签: javascript jquery html

我有这个锚点,点击后我想弹出一些东西。 此href位于具有其他href的页面中。

<a class="sign_new" href="#sign_up">Sign up</a>

jQuery的:

$(document).ready(function(){
   $('a[href = "sign_up"]').click(function(){
      alert('Sign new href executed.'); 
   }); 
});

以上代码无法启动。

4 个答案:

答案 0 :(得分:31)

不是因为href值不是sign_up。它是#sign_up。试试如下, 您需要添加“#”以指示href值的ID。

$('a[href="#sign_up"]').click(function(){
  alert('Sign new href executed.'); 
}); 

DEMO: http://jsfiddle.net/pnGbP/

答案 1 :(得分:7)

如果你拥有HTML代码,那么为这个href分配一个id是明智的。然后你的代码看起来像这样:

<a id="sign_up" class="sign_new">Sign up</a>

和jQuery:

$(document).ready(function(){
    $('#sign_up').click(function(){
        alert('Sign new href executed.');
    });
});

如果您不拥有HTML,则需要将$('#sign_up')更改为$('a.sign_new')。如果你在锚中有一个href并且不希望它被处理,你也可能触发event.stopPropagation()(AFAIR return false也可以工作)。

$(document).ready(function(){
    $('#sign_up').click(function(event){
        alert('Sign new href executed.');
        event.stopPropagation();
    });
});

答案 2 :(得分:3)

尝试:

$(document).ready(function(){
   $('a .sign_new').click(function(){
      alert('Sign new href executed.'); 
   }); 
});

您混淆了classhref名称/选择器类型。

答案 3 :(得分:0)

您将click事件绑定到具有值为sign_new href 属性的锚点。

使用类sign_new绑定锚点或使用href值#sign_up绑定锚点。我更喜欢前者。