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 😀

OriginalL'auteur Blaze Tama | 2013-07-27