Je suis nouveau à Protéoype.js et je le teste un peu parce que j'ai entendu dire que c'était bon, mais je suis coincé assez vite.
Aussi facile que ceci est avec JQuery, il semble être la fin du monde d'obtenir le texte dans un élément. J'ai essayé innerhtml de plusieurs manières, mais la seule chose que je peux obtenir est "indéfinie". Aucune de ces travaux.
Le contenu est un div avec ID "Contenu" et .mnu_item est une balise d'ancrage avec la classe ".mnu_item".
Je n'obtiens pas ce que le problème est, probablement quelque chose de stupide, mais ce serait génial si quelqu'un pourrait me diriger dans la bonne direction! P> Edit: j'ai constaté que ce n'est pas le innerhtml qui ne 't fonctionne mais c'est le sélecteur de classe. La deuxième ligne du code ci-dessus fonctionne. Comment puis-je sélectionner un élément par sa classe dans la dernière version de prototype si ce n'est la bonne voie? P> P>
4 Réponses :
$ ('content'). innerhtml devrait fonctionner. Vérifiez votre HTML, assurez-vous que l'ID est unique. P>
a le DOM chargé lorsque vous exécutez votre script? Si vous n'exécutez pas ce code dans une fenêtre Essayez de placer votre script juste à l'intérieur de la fermeture aussi, votre première ligne sélectionne correctement, mais retournera un Tableau d'éléments, donc Pour itérer le tableau, vous pouvez le faire: P> .Onload code> ou en le plaçant à l'extrémité em> du corps, les éléments n'existent pas quand il s'exécute. corbil> code> tag. P> innerhtml code> sera non défini code>. P> var values = $$('.mnu_item').map(function(val,i) {
return val.innerHTML;
});
Hey, merci! Je ne savais pas que c'était de retourner un tableau, comme je l'ai dit, un problème assez stupide.
Assurez-vous que le DOM est chargé avant d'exécuter ces tests: la première ligne de code si vous utilisez $ $ Strong> En JQuery, il utilise en fait un modèle similaire mais cache la construction de chaque construction. Il applique simplement la méthode chaînée à tous les éléments ou juste le premier. P> la deuxième ligne de code Pour plus d'informations sur les méthodes de prototype Regardez l'API: http://api.prototypeypejs.org/ p> Vérifiez également les méthodes DOM par défaut: http://quirksmode.org/dom/w3c_core.html p> p>
Y a-t-il une autre différence en utilisant $ (document) .on ('DOM: chargé', fonction () {...}); par opposition à document.Observe ('DOM: chargé', fonction () {...}); Je suppose que non ... jamais vu Dom: chargé utilisé sur On () avant: /
Ils agissent la même chose, sur une méthode plus récente qui peut également gérer un argument de sélecteur (voir API)
var texte = $$ ('étiquette [pour = "display_on_amazon"]'). Premier (). TextContent; P>
Le code ci-dessus a fonctionné pour moi. P>
Concernant, $$ ('. mnu_item'). innerhtml p>
Lorsque vous essayez d'extraire avec le sélecteur de classe, le prototype renvoie une matrice de plusieurs elements, à l'aide de [0] ou premier () système de méthode pointera sur le premier élément de cette matrice, après cela, vous pouvez utiliser innerhtml (pour obtenir HTML à l'intérieur de l'élément) ou TextContent (pour obtenir le contenu du texte de cet élément, méthode JavaScript natif) P>
utilisez jQuery et appelez simplement $ ('content'). HTML (); Pour récupérer HTML
Rhyme éducative: il est assez difficile de dire sans le HTML.