jQuery selector for links with # in href attribute

2019-03-12 01:48发布

问题:

I tried to use this jQuery selector:

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

but it doesn't seem to work. I would like to select all tags which have anchor in href attribute (has # symbol there)

回答1:

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


回答2:

*= will filter attributes that contain the given string anywhere

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

Also note that

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

will select any anchor whose href starts with a #



回答3:

You've got to select using the attribute starts with selector:

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

Check out my jsfiddle!