带有#in href属性的链接的jQuery选择器

sim*_*Pod 23 jquery jquery-selectors

我试图使用这个jQuery选择器:

$("a:has(href*=#)").click(function() {
     alert('works');
});  
Run Code Online (Sandbox Code Playgroud)

但它似乎没有用.我想选择所有在href属性中都有锚点的标签(在那里有#符号)

epi*_*isx 61

$("a[href*=#]").click(function(e) {
    e.preventDefault();
    alert('works');
});  
Run Code Online (Sandbox Code Playgroud)

  • 它在某些情况下不起作用.你应该逃避`#`这样:`$('a [href*= \\#]')`如果你想让它更可靠的话.http://stackoverflow.com/a/18365991/553921 (9认同)
  • 从@ simPod的澄清,我们都错了!他想要[http://api.jquery.com/attribute-starts-with-selector/](http://api.jquery.com/attribute-starts-with-selector/) (2认同)

Ada*_*kis 44

*= 将在任何地方过滤包含给定字符串的属性

$("a[href*='#']").click(function() {
    alert('works');
});
Run Code Online (Sandbox Code Playgroud)

另请注意

$("a[href^='#']").click(function() {
    alert('works');
});
Run Code Online (Sandbox Code Playgroud)

将选择的href任何锚开始与#


Kor*_*nto 15

你必须选择使用属性开头选择器:

$('a[href^="#"]').click(function(){
    alert('Works!');
});
Run Code Online (Sandbox Code Playgroud)

看看我的jsfiddle!