1

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

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
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

3

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

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

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

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...