EDIT 2 : Problème résolu. J'ai modifié la ligne "document.getElementById("Page"+NombrePages[i]+"").style.color='black';" en "document.getElementById("Page"+NombrePages[i].id+"").style.color='black';"
EDIT : j'ai avancé un peu sur le problème. Le soucis semble venir de la variable "NombrePages" qui ne contient pas les infos que je pensais. J'ai du mal comprendre la fonction. En effet, la valeur retournée est en fait la valeur du href de chacun de mes liens. Il faut que je bidouille ça pour obtenir l'ID de chaque lien à la place.
Bonjour à tous,
Je rencontre un petit problème de Javascript dont je vais vous compter l'histoire. Sur une de mes pages PHP listant un certain nombre de résultats, j'utilise le système du TP "Livre d'Or" de M@teo pour faire un système de pages. Pour mes besoins, j'ai fait quelques modifications mineures : j'ai ajouté un ID à chaque lien du type "Page1, Page2, Page..., PageN" et la même classe "LienPages" à chacun des liens.
Pourquoi ces ID et cette class me direz-vous ?
Car je veux que le lien de la page sur laquelle se trouve le visiteur soit d'une couleur différente. Pour ce faire, je fais un p'tit coup de "document.getElementById("Page"+page+"").style.color='red';" pour mettre une couleur au lien de la page en cours. Le hic, c'est qu'au moment où je change de page, le lien de la nouvelle page prend bien la couleur rouge mais l'ancien lien la garde.
Je me suis alors dit : "Je vais ajouter une class et, au chargement d'une nouvelle page, je fais un getElementsByClassName (trouvé dans le tuto JS non officiel du SdZ) pour récupérer tous mes liens et les remettre dans leur couleur d'origine.
Dans la configuration ci-dessous (pour mon script, c'est le seul qui change), j'ai le droit à une belle erreur : Components is not defined --> {NombrePages[i].style.color='black';}
J'ai aussi essayé un
document.getElementsByClassName = function(className, elmt)
{
var selection = new Array();
var regex = new RegExp("\\b" + className + "\\b");
// le second argument, facultatif
if(!elmt)
elmt = document;
else if(typeof document == "string")
elmt = document.getElementById(elmt);
// on sélectionne les éléments ayant la bonne classe
var elmts = elmt.getElementsByTagName("*");
for(var i=0; i<elmts.length; i++)
if(regex.test(elmts[i].className))
selection.push(elmts[i]);
return selection;
}
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.