“le document.getElementByClass n'est pas une fonction”
Je suis en train d'exécuter une fonction onclick
d'un bouton avec class="stopMusic"
. J'obtiens une erreur dans Firebug
document.getElementByClass n'est pas une fonction
Voici mon code:
var stopMusicExt = document.getElementByClass("stopButton");
stopButton.onclick = function() {
var ta = document.getElementByClass("stopButton");
document['player'].stopMusicExt(ta.value);
ta.value = "";
};
- Découvrez cette stackoverflow.com/questions/900117/...
Vous devez vous connecter pour publier un commentaire.
Vous signifiait probablement
document.getElementsByClassName()
(et puis de saisir le premier élément résultant de la liste des nœuds):Vous pouvez toujours obtenir l'erreur
dans les navigateurs plus anciens, bien que, dans ce cas, vous pouvez fournir une solution de secours mise en œuvre si vous avez besoin à l'appui de ces anciens navigateurs.
Comme d'autres l'ont dit, vous n'utilisez pas le bon nom de la fonction et il n'existe pas univerally dans tous les navigateurs.
Si vous avez besoin de faire de la cross-browser aller chercher de quoi que ce soit d'autre qu'un élément avec un id avec
document.getElementById()
, alors je suggère fortement que vous obtenez une bibliothèque qui prend en charge des sélecteurs CSS3 sur tous les navigateurs. Il vous permettra d'économiser une quantité massive de temps de développement, de test et de correction de bug. La meilleure chose à faire est de simplement utiliser jQuery parce que c'est si largement disponibles, a une excellente documentation, a gratuit CDN d'accès et dispose d'une excellente communauté de gens qui sont derrière pour répondre à des questions. Si ça semble plus que vous avez besoin, alors vous pouvez obtenir Grésillement qui est juste un sélecteur de bibliothèque (c'est en fait le sélecteur de moteur à l'intérieur de jQuery et autres). Je l'ai utilisé par lui-même dans d'autres projets et c'est facile, plus productive et plus petites.Si vous voulez sélectionner plusieurs nœuds à la fois, vous pouvez faire de nombreuses façons différentes. Si vous leur donnez tous la même classe, vous pouvez le faire avec:
et il sera de retour une liste de nœuds qui ont un nom de classe.
Dans Grésillement, ce serait celui-ci:
En jQuery, il serait celui-ci:
Dans les deux Grésillement et jQuery, vous pouvez mettre plusieurs noms de classe dans le sélecteur de ce genre et l'utilisation beaucoup plus compliqué et puissant sélecteurs:
Avant de sauter dans toute la vérification des erreurs, veuillez d'abord vérifier si son
document.getElementsByClassName() elle-même.
vérifier ses getElements et pas getElement
Il devrait être
getElementsByClassName
, et pasgetElementByClass
. Voir ce - https://developer.mozilla.org/en/DOM/document.getElementsByClassName.Noter que certains navigateurs/versions peuvent ne pas supporter cette.
vous épeautre à tort, il doit être " getElementsByClassName ",
document.getElementsByClassName - retourne une pile de nœuds avec plus d'un élément, puisque les attributs de CLASSE sont utilisées pour attribuer à plusieurs objets...
La
getElementByClass
n'existe pas, probablement que vous souhaitez utilisergetElementsByClassName
. Cependant, vous pouvez utiliser l'approche alternative (utilisé dans angulaire/vue/réagir... modèles)JS:
HTML:
document.querySelectorAll
fonctionne assez bien et vous permettra de continuer à affiner votre sélection.https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll