./1
- Posted On the 2011-11-09 at 08:20 pm Member since 2004-09-02, 568 posts
Salut

Mon probleme a l'air si simple mais je bloque.

J'ai simplement besoin de tester si le href d'un lien contient une certaine chaine :
[source=js]...
a_actuel=document.getElementsByTagName("a")[n] ;
if (a_actuel.href.indexOf( liste[i] ) != -1){
...[/source]
mais ça me donne toujours une erreur.

Au cas où la valeur de href ne serait pas vraiment une chaine, j'ai donc essayé de la convertir en chaine :
[source=js]var chaine = "";
chaine += a_actuel.href;[/source]
mais rien que ça tout seul produit une erreur. :\
Pourquoi diable ne peut-il pas ajouter cette valeur à une chaine ?

Pourtant
[source=js]alert(a_actuel.href);[/source]
fonctionne, donc c'est qu'il peut la traiter comme une chaine.

Quelqu'un peut m'expliquer cet étrange phénomène ???

./2
- Posted On the 2011-11-09 at 08:33 pm - Edited by Zeph On the 2011-11-09 at 09:35 pm Member since 2002-06-13, 39607 posts
Ton code est a priori tout à fait valide, et l'attribut "href" est bien une chaîne s'il est défini. Tu es certain que "liste[i]" existe et contient la sous-chaîne à rechercher ?
avatar I invited your best friend the companion cube. Of course, he couldn't come because you murdered him.
------------------------------------------
Mirari² :: It offers what you want, not what you need
3l33t :: Relax, we understand j00 ^^
./3
- Posted On the 2011-11-09 at 09:26 pm Member since 2002-07-15, 4200 posts
pareil, le code fonctionne http://jsfiddle.net/zdSBk/
tu doit avoir un soucis ailleurs
et la le mec il le pécho par le bras et il lui dit '
./4
- Posted On the 2011-11-09 at 11:30 pm Member since 2004-09-02, 568 posts
Merci, j'ai trouvé, grace à l'exemple en fait. C'est parce que je testais directement a_actuel.href , je l'ai mis dans une variable et je teste cette variable plutot, et ça fonctionne... C'était vraiment un probleme stupide... '-_-

Au passage merci pour le lien, je connaissais pas, c'est super utile pour tester. smile
./5
- Posted On the 2011-11-10 at 11:11 am Member since 2002-07-15, 4200 posts
oui pour tester c'est génial smile

quant on teste directement sans passer par une variable cela marche très bien dans le fiddle : http://jsfiddle.net/zdSBk/1/

tu est sur que tout tes liens ont un href ou que tu ne boucle pas une fois de trop ?
et la le mec il le pécho par le bras et il lui dit '
./6
- Posted On the 2011-11-10 at 03:01 pm Member since 2004-09-02, 568 posts
Non ici ça ne fonctionne pas, ça bloque, obligé de le mettre dans une variable pour que ça passe.
Cependant je viens d'essayer dans IE et chrome et ça fonctionne, y'a que dans mon firefox que ça bloque en fait...