1
Posté le 09/11/2011 à 20:20 Membre depuis le 02/09/2004, 568 messages
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
Posté le 09/11/2011 à 20:33 Edité par Zeph le 09/11/2011 à 21:35 Membre depuis le 13/06/2002, 41764 messages
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
Posté le 09/11/2011 à 21:26 Membre depuis le 15/07/2002, 4442 messages
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
Posté le 09/11/2011 à 23:30 Membre depuis le 02/09/2004, 568 messages
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
Posté le 10/11/2011 à 11:11 Membre depuis le 15/07/2002, 4442 messages
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
Posté le 10/11/2011 à 15:01 Membre depuis le 02/09/2004, 568 messages
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...