Ответ 1
$("a[href*=#]").click(function(e) {
e.preventDefault();
alert('works');
});
Я попытался использовать этот селектор jQuery:
$("a:has(href*=#)").click(function() {
alert('works');
});
но он, похоже, не работает. Я хотел бы выбрать все теги, которые привязаны в атрибуте href (там есть символ #)
$("a[href*=#]").click(function(e) {
e.preventDefault();
alert('works');
});
*=
будет фильтровать атрибуты, содержащие заданную строку в любом месте
$("a[href*='#']").click(function() {
alert('works');
});
Также обратите внимание, что
$("a[href^='#']").click(function() {
alert('works');
});
выберет любой якорь, чей href начинается с #
Вы должны выбрать с помощью атрибута начиная с селектора:
$('a[href^="#"]').click(function(){
alert('Works!');
});
Зайдите my jsfiddle!