我有这个锚点,点击时我想弹出一些东西。此 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.');
});
});
上面的代码没有启动。
我有这个锚点,点击时我想弹出一些东西。此 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.');
});
});
上面的代码没有启动。
这不是因为 href 值不是.sign_up
它是#sign_up
. 尝试如下,您需要添加“#”来表示 href 值的 id。
$('a[href="#sign_up"]').click(function(){
alert('Sign new href executed.');
});
演示:http: //jsfiddle.net/pnGbP/
如果你拥有 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();
});
});
尝试:
$(document).ready(function(){
$('a .sign_new').click(function(){
alert('Sign new href executed.');
});
});
您混淆了class
和href
名称/选择器类型。
您正在将事件绑定到具有带有 value 的href属性的click
锚点。sign_new
使用 classsign_new
绑定锚点或使用 href 值绑定锚点#sign_up
。我更喜欢前者。