2010-09-03 5 views
0

Hay i ont un lien de ce type.attr ("href") avec des liens contenant des virgules

index.php?sometext=f,fsdsd,rerw,e,wewewe 

et quand j'utiliser .attr ("href") sur le lien, il arrête à la première virgule, il affiche seulement

index.php?sometext=f 

Toute idée comment obtenir toute la valeur href

+0

> * il arrête à la première virgule * Non, il n'a pas: http://jsbin.com/ajumu –

+1

fonctionne pour moi ... Vous pourriez faire quelque chose d'autre mal, pourriez-vous nous montrer plus de code? – adamse

+0

Probablement dépend du navigateur. Quel navigateur utilisez-vous pour tester? –

Répondre

1

Vous devez remplacer , avec %2C dans vos liens. C'est URL encoding.

+0

J'ai utilisé cette solution. – dotty

0

Les virgules sont parmi les caractères qui devraient être urlencoded lorsqu'ils sont présents dans une URL, c'est-à-dire, dans leur cas, remplacés par %2C.

0
$('a').each(function(i, el){ 

    var href = $(this).attr('href'); 

    if (href.split('?').length == 2) { 
     var dir = href.split('?')[0], query = href.split('?')[1]; 
     $(this).attr('href', dir + '?' + encodeURI(query)); 
    } 

}); 

encodeURI

Questions connexes