J'utilise le code JS ci-dessous afin de modifier la classe lorsqu'un lien est cliqué sur un lien.
document.getElementById("gifts").setAttribute("className", "gkvSprite selected");
3 Réponses :
Vous pouvez utiliser de manière fiable la propriété plus généralement, il y a quelques noms d'attributs qui Différents navigateurs traitent différemment dans classname code> au lieu de
setattribute code>:
setattribute code>:
class code> vs
classname code> et
pour code> vs. code> htmlfor code >. Bibliothèques comme prototype , jQuery a >, etc. va lisser ces différences pour vous, bien que (encore) dans la situation spécifique de la classe code> code>, vous pouvez utiliser de manière fiable la propriété. p> p>
Vous pouvez y aller de quelques égards.
Si vous souhaitez utiliser Ce qui précède fonctionnerait, mais je préférerais d'utiliser un div et d'affecter une nouvelle classe pour cela. p> ou comme tj Crowder a dit ci-dessus. Asign via setattribute code> Vous pouvez détecter quel navigateur utilise le client, puis utilisez
Classe code> dans IE et
Nom de classe code> dans Firefox. p>
Nom de classe Code> Directy. P> P>
En ce qui concerne la détection du navigateur: dans au moins 90% de ces situations, vous êtes beaucoup mieux avec une «détection de fonctionnalités» plutôt que sur le navigateur reniflant. Dans ce cas, par exemple, le prototype vérifie si le navigateur réel vous utilisez i> utilise Classe code> ou
Nom de classe code> (en le testant une fois et que vous vous souveniez de quoi passé). Le navigateur reniflant est sujette à la défaillance de différentes manières, notamment de se faire obsoluer lorsque les navigateurs évoluent. Vous vous retrouvez avec d'énormes chaînes logiques autour de la version du navigateur et du navigateur ...
Si #gifts a une transition chronométrée CSS3 définie sur CSS, Setattribute (et RemoVeAttribute, et d'autres commandes JS) échouent également dans certains navigateurs. Le JavaScript doit être retardé jusqu'à ce que la transition soit terminée avant de pouvoir le modifier. p>
Votre titre est trompeur, GetElementyID fonctionne bien, votre problème est avec la manipulation de la classe de la classe.