J'essaie de créer à distance un Voici la fenêtre nom de chaque Quand je clique sur le 3 Réponses : Il est difficile de dire ce que le problème est sûr, car je n'ai pas accès à votre cas de test, je ne peux donc voir aucune erreur ni essayer de le modifier, mais certains problèmes sont les suivants: < / p>
Je ne serais pas surpris si le JS lance une erreur lorsque vous essayez de définir Ma meilleure théorie est que vous avez plus d'éléments code> div (indic> alors ceux que vous vous souciez, et c'est un clic sur l'un de ceux-ci (un sans attribut de nom), éventuellement contenant celui que vous avez visent à cliquer sur) qui tire la fonction JS. P>
Comme mentionné, cela est difficile à déboguer sans un essai complet.
J'ai dit que dans mon poteau :). Quoi qu'il en soit, la réponse ci-dessous a fonctionné. Je ne savais pas que Div n'a pas de nom = "" Valeur - Comment est-ce stupide?
Vous n'avez pas mentionné qu'il était difficile pour les gens de résoudre votre problème sans votre HTML du tout. Je suis très surpris que ce qui précède (indice: Stackoverflow vous permet de régler les réponses de différentes manières «ci-dessus» et «ci-dessous» n'a pas fonctionné. C'est juste une syntaxe différente pour obtenir la même chose. Et ce n'est pas du tout stupide, nous avons
Les divs ont déjà des cours. Sont des contrôles de forme la seule chose qui ont des attributs de noms?
L'attribut de classe prend une place séparée Liste b> de classes, donc "avoir une classe déjà" n'est pas une raison pour ne pas en avoir un autre. Les cadres ont aussi des noms, d'attacher à la cible (et aux «cadres d'Ewugh»). Les ancres les ont, mais obsolètes dans XHTML 1.1. Il y a quelques autres, l'attribut a toutes sortes de significations différentes selon son apparition. Cela fonctionnera. Le problème est corrigé. Il suffit d'utiliser:
Testé dans Firefox 4.0 et IE 8.0 dans jQuery Vous pouvez plutôt utiliser:
Il ne vaut pas la peine (performance-wise) charger une bibliothèque massive juste pour l'utilisation d'une fonction onclick code> pour chaque
.Onload ( ) code> fonction: p>
"flyingsheep" code> - cette valeur a été défini par
"/ jeux / indéfinis" code>. p> p>
votes
Nom code> Attribut
pour les éléments div . P>
divel.length.onmouseover code> - N'utilisez pas
pour (foo in bar) code > Sur le tableau comme des objets, utilisez un compteur normal. P>
classe code> un identifiant générique non unique, nous n'en avons pas besoin d'un autre, laissez le nom des commandes de formulaire.
votes
ceci.atributes ["nom"]. Valeur code> p>
window.onload = function() {
divel = document.getElementsByTagName('div');
for(var el in divel){
window.alert(divel[el].name);
divel[el].onmouseover = function(){ this.style.textDecoration = "underline"; };
divel[el].onmouseout = function(){ this.style.textDecoration = "none"; };
divel[el].onclick = function(){document.getElementById('game').src = this.attributes["name"].value;}
}
}
votes
$(this).attr("name");
Est-ce que le
pour code> modifie vraiment la signification de
ceci code>?
@bzlm - Non, et au moment où les fonctions anonymes sont appelées,
pour code> est parti depuis longtemps.
Fyi, élément.name i> n'est pas défini pour
div code>, voir cette référence .