/ / Little JQuery interaccion - jquery, function, this

Pequeña interacción de JQuery - jquery, función, esto

Este es uno de los 10

  • <li class="application">
    <img class="iconapp" ..../>
    <p>
    <span class="spancat">....</span>
    <span class="prix>....</span>
    <span class="description">....</span>
    
    <span class="panier">
    <img .../>
    </span>
    </p>
    </li>
    

    Así que estoy intentando eso cuando hago clic en ".panier ", coloca el valor del atributo alt de" .iconapp "en una nueva división. Estoy" teniendo dificultades porque tengo 10 <li> como el anterior, y cuando hago clic en cualquiera ". panier "de cualquier <li>, siempre obtengo el att del .icon que está en el primer <li> (en la alerta).

    Este es mi código JQuery:

    $(function ()    {
    $(".panier").click(function ()
    {
    var nom = $(".iconeapp").attr("alt");
    alert(nom);
    $("#divcat").append("<div id="appspanier">HOLLA</div>");
    })
    })
    

    Espero que me puedas ayudar.

    ¡Gracias!

    Respuestas

    1 para la respuesta № 1

    Cuando usas $(".iconapp") selecciona todos los elementos con esa clase, y luego la .attr() El método toma un atributo del primero (como ha visto). Para relacionar el elemento pulsado con el .iconapp dentro de la misma li primer comienzo desde this (el elemento pulsado) y navegue hacia arriba a través del DOM hasta el .closest("li") y luego dentro de ese li .find() sus .iconapp:

    $(function ()    {
    $(".panier").click(function ()
    {
    var nom = $(this).closest("li").find(".iconapp").attr("alt");
    alert(nom);
    $("#divcat").append("<div id="appspanier">HOLLA</div>");
    });
    });