我有这个锚点,点击后我想弹出一些东西。 此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.');
});
});
以上代码无法启动。
答案 0 :(得分:31)
不是因为href值不是sign_up
。它是#sign_up
。试试如下,
您需要添加“#”以指示href值的ID。
$('a[href="#sign_up"]').click(function(){
alert('Sign new href executed.');
});
答案 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.');
});
});
您混淆了class
和href
名称/选择器类型。
答案 3 :(得分:0)
您将click
事件绑定到具有值为sign_new
的 href 属性的锚点。
使用类sign_new
绑定锚点或使用href值#sign_up
绑定锚点。我更喜欢前者。