document.getElementsByClassName().innerHTML renvoie toujours la valeur “undefined”
J'ai du faire une erreur quelque part donc, la document.getElementsByClassName().innerHTML
est toujours de retour undefined.
J'ai d'abord générer le <li>
via javascript :
$('#list').append('<li class="box"><img class="picture" src="images/HotPromo/tagPhoto1.png"/><p class="name"><b>Name</b></p><p class="address">Address</p><p class="hidden"></p></li>');
Noter que dans le plus à droite j'ai un <p>
élément avec hidden
classe. Je l'utilise pour obtenir le id qui je ne veux pas montrer à mes utilisateurs.
Et c'est le jQuery pour générer les données sur ces <li>
:
$(".box").each(function () {
var name, address, picture, id = "";
if (i < result.length) {
name = result[i].name;
address = result[i].address;
picture = result[i].boxpicture;
id = result[i].mallid;
}
$(this).find(".name").html(name);
$(this).find(".address").html(address);
$(this).find(".picture").attr("src", picture);
$(this).find(".hidden").html(id);
i++;
});
J'ai essayé de vérifier les données, et sa fonctionne très bien.
Maintenant, disons que je veux alerter l'caché id <p>
lorsque l'utilisateur clique sur l'un de ces <li class="box">
que j'ai généré ci-dessus:
$(".box").click(function () {
alert(document.getElementsByClassName('hidden').innerHTML);
});
Cependant cette alerte revenant toujours "undifined".
Juste de la curiosité. Pourquoi êtes-vous à l'aide de la plaine de JavaScript et de jQuery?
err..désolé c'est parce que je suis un débutant...je vais essayer d'utiliser jQuery 😀
err..désolé c'est parce que je suis un débutant...je vais essayer d'utiliser jQuery 😀
OriginalL'auteur Blaze Tama | 2013-07-27
Vous devez vous connecter pour publier un commentaire.
document.getElementsByClassName()
renvoie une nodeList, pas un élément!De sorte qu'il devrait être :
et que vous avez probablement plus de
.hidden
éléments, et ne veulent un à l'intérieur de l'actuel.box
(ce qui seraitthis
dans le gestionnaire d'événement)mais pourquoi ne pas jQuery
OriginalL'auteur adeneo