2010-02-03 4 views

Répondre

2

Si vous voulez saisir la chaîne après le hachage:

$("a[href*='#']").click(function() { 
    var hash = this.href.replace(/.*#(.*)$/, '$1'); 
    // do something 
    return false 
}); 
+0

Ceci devrait être: 'var hash = this.href.replace (/ ^(.*)#(.*)$/, '$ 2');' –

0

Pour fixer la logique à tous les hachage liens, vous pouvez effectuer les opérations suivantes:

$("a[href^='#']").click(function(e){ 
    // user clicked an inpage link 
}); 
1

capture le hachage et la sous-chaîne il out:

$("a[href*='#']").click(function(e){ 
    var hash = $(this).attr('href').substring($(this).attr('href').indexOf("#")); 
    //hash = #var 
    function(hash); 
}); 
0

Si vous voulez déclencher une fonction pour les liens avec des hachages qui sont insérés dynamiquement, utilisez ceci:

$(document).click(function (event) { 
    var target = $(event.target); 
    if (target.filter("a[href*='#']").size() > 0) { 
     var hash = target.attr("hash"); 

     // Do something with hash. 

     event.preventDefault(); 
    } 
}); 
Questions connexes