2009-07-23 6 views
0

J'ai un tas de liens sur une page sur une action, je lance une fonction et il ajoute une variable supplémentaire comme ceci:Comment puis-je parcourir chaque lien sur une page et ajouter quelque chose avec jQuery?

function storeId(uID) { 

$('a.special').each(function(){ 

    $(this).attr('href',$(this).attr('href')+'&variable='+uID+''); 

}); 

} 

Ma compréhension est, le serait au-dessus de passer par chaque lien identifié, et saisissez le href existant, puis ajoutez les bits variables à la fin. J'ai la variable en ajoutant, mais il ne fonctionne pas comme prévu ... par exemple son ajout de la partie '& variable =' deux fois, la première fois, comme '& variable = undefined' et puis en plus de cela ' variable = 23 '.

Y a-t-il une meilleure façon de procéder? Ou une façon que je peux juste dire passer par chacun de ces liens et simplement mettre à jour la valeur qui est définie à la variable plutôt que de réécrire l'ensemble href?

Il suffit donc de re-itérer, mon lien original est juste quelque chose comme ceci:

<a class="special" href="/page.php?random=1">link name</a> 

Et le but est d'avoir ressembler à ce qui suit après la fonction est exécutée:

<a class="special" href="/page.php?random=1&variable=32">link name</a> 

Mais il serpente ressembler:

<a class="special" href="/page.php?random=1&variable=undefined&variable=32">link name</a> 
+1

Êtes-vous sûr que storeID ne reçoit pas deux appels? semble être comme ça. – seth

+0

c'est ce que je pensais ... peut-être que c'est !! – willdanceforfun

+0

putain, je pense que c'est. – willdanceforfun

Répondre

2

Etes-vous sûr que storeId n'est pas appelé deux fois? semble être comme ça.

1
function storeId(uID) { 
    $('a.special').each(function(){ 
     link = $(this).attr('href'); 
     nlink = link + '&variable='+uID; 
     $(this).attr('href', newlink); 
    }); 
} 

Essayez-le.

+0

que vous venez de dérouler son code>. < – mpen

+0

pas exactement - il a des citations non échappées dans le second appel .attr. – inkedmn

Questions connexes