2 votes

Comment supprimer les variables des liens sur une page avec jQuery

Simplement j'ai un tas de liens comme ça

<div id="categoryLinks">
    <a href="blah.php?something=this&category=21"></a>
    <a href="blah.php?something=that&category=21"></a>
    <a href="blah.php?something=then&category=21"></a>
</div>

Ce que j'aimerais pouvoir faire cependant, c'est parcourir tous ces liens et supprimer la partie finale '&category=21' si je le souhaite, afin qu'ils ressemblent tous à ceci :

<div id="categoryLinks">
    <a href="blah.php?something=this"></a>
    <a href="blah.php?something=that"></a>
    <a href="blah.php?something=then"></a>
</div>

Donc je travaille sur la fonction qui ressemble à quelque chose comme ça :

function removeCategory(){

    $('#categoryLinks a').each(function(){

        // as you can see, i don't know what goes in here!      

});

}

Je sais comment faire le contraire, c'est-à-dire ajouter une catégorie à la référence, mais pour ce qui est de l'enlever, je n'ai rien trouvé.

Comment dois-je m'y prendre ?

5voto

RaYell Points 26761

Cela supprimera tous les paramètres

$('a[href*=?]').each(function () {
    var href = $(this).attr('href');
    $(this).attr('href', href.substring(0, href.indexOf('?'));
});

Cela dépouillera un particulier

$("a[href*='category=']").each(function () {
    var href = $(this).attr('href');
    $(this).attr('href', href.replace(/&?category=\d+/, ''));
});

a[href*='category='] cherche un category= chaîne dans href l'attribut de a étiquette. Ensuite, cet attribut ainsi que la valeur correspondante sont remplacés par une chaîne vide.

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