144 votes

Obtenir l'emplacement du hachage d'URL et l'utiliser en jQuery

Je voudrais obtenir la valeur après un hash dans l'URL de la page actuelle, puis être en mesure d'appliquer ceci dans une nouvelle fonction... par exemple.

L'URL pourrait être

www.example.com/index.html#foo

Et j'aimerais utiliser ceci en conjonction avec le morceau de code suivant

$('ul#foo:first').show();

Je suppose un peu / j'espère qu'il y a un moyen de récupérer ceci, et de le transformer en une variable que je peux ensuite utiliser dans le deuxième morceau de code.

10 votes

Je n'ai pas de code pour vous, mais vous devriez vous assurer de nettoyer l'entrée, car cela semble être propice à l'injection de code.

0 votes

En comprenant que cette question remonte de près d'une décennie, 'ul#foo:first' ne semble pas logique puisque les IDs doivent être uniques, donc ajouter :first au sélecteur est redondant, à moins que vous ne dupliquiez des IDs ce qui est invalide. Notez que même il y a une décennie, les IDs répétés étaient toujours invalides.

0 votes

Encore avait tort il y a une décennie

2voto

Chetabahana Points 3161

Je suggèrerais de d'abord vérifier si la page actuelle a un hachage. Sinon, il sera undefined.

$(window).on('load', function(){        
    if( location.hash && location.hash.length ) {
       var hash = decodeURIComponent(location.hash.substr(1));
       $('ul'+hash+':first').show();;
    }       
});

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X