42 votes

JQuery Comment extraire la valeur d'une balise href?

Je suis nouveau sur JQuery.

Si j'ai la balise suivante. Quelle est la meilleure méthode JQuery pour extraire la valeur de "page" du href.

 <a href="Search/Advanced?page=2">2</a>
 

Malcolm

68voto

Matchu Points 37755

La première chose qui me vient à l’esprit est un regex à une ligne.

 var pageNum = $("a#specificLink").attr("href").match(/page=([0-9]+)/)[1];
 

16voto

Kenny Eliasson Points 1166

Je vois deux options ici

 var link = $('a').attr('href');
var equalPosition = link.indexOf('='); //Get the position of '='
var number = link.substring(equalPosition + 1); //Split the string and get the number.
 

Je ne sais pas si vous allez l'utiliser pour la pagination et avoir le texte dans le <a> -tag comme vous l'avez, mais si vous le deviez, vous pouvez aussi le faire

 var number = $('a').text();
 

6voto

Peter Örneholm Points 2245

Tout d’abord, vous devez extraire le chemin avec quelque chose comme ceci:

 $("a#myLink").attr("href");
 

Alors jetez un oeil à ce plugin: http://plugins.jquery.com/project/query-object

Cela vous aidera à gérer toutes sortes de choses que vous voulez faire.

/ Peter F

4voto

great_llama Points 5836

Voici une méthode qui fonctionne en transformant la chaîne de requête en JSON ...

 var link = $('a').attr('href');

if (link.indexOf("?") != -1) {
    var query = link.split("?")[1];

    eval("query = {" + query.replace(/&/ig, "\",").replace(/=/ig, ":\"") + "\"};");

    if (query.page)
    	alert(unescape(query.page));
    else
    	alert('No page parameter');

} else {
    alert('No querystring');
}
 

J'irais avec une bibliothèque comme les autres suggèrent cependant ... =)

0voto

Iain Holder Points 7930

Utilisez cette extension jQuery par James Padoley

http://james.padolsey.com/javascript/regex-selector-for-jquery/

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