Pregunta

tengo un problema con este jQuery, en la llamada de función éxito, su media para eliminar el botón `apoyo', y se desvanecen en el MSG, este es mi código jQuery:

$('.stats').delegate('.against', 'click', function(e) {
      //stop event
      e.preventDefault();
        // cache a reference to the previous <li> element
        //   since it is used more than once
       var $prevLi = $(this).closest('li').prev('li');
      //get the id
       var the_id = $prevLi.attr('id').split('_').pop();
        //the main ajax request
       $.ajax({
           context:this,
           type: "POST",
           data: "action=against&id=" + the_id,
           url: "ajax/sa.php",
          success: function (msg) {
               $prevLi.find("h2.score_down").html(msg).fadeIn();
               $(this).closest('li').next().next().find('button').remove(); $(this).remove();
           }
      });
 });

el html:

        <ul class="stats">
             <li id="topic_20" class="score">
                     <h2 class="score_up" style="color:green;">10</h2>
                <span style="text-align:center;">Supporters</span>
            </li>
            <li>
                <button type="submit" value="Actions" class="support" title="support">
                    <i></i>
                    <span>Support</span>
                </button>
            </li>


              <li id="down_20"class="score"><h2 class="score_down">20</h2><span style="text-align:center;">Against</span>

    </li>

              <li>
        <button type="submit" value="Actions" class="against" title="against">
          <i></i><span>Against</span></button>
              </li>
        </ul>
<h3 class="success"></h3>

este jQuery está destinado a quitar el botón de soporte, cuando se hace clic y la nueva puntuación está destinado a desaparecer en! :)) gracias

¿Fue útil?

Solución

El botón se encuentra en la <li> 2 anterior a la .against que contiene uno, por lo que su llamadas .next() deben ser .prev() , como esto:

$(this).closest('li').prev().prev().find('button').remove();

Otros consejos

¿Por qué no usar $ ( "botón [type = enviar]")? O simplemente $ ( "botón")? Si se utiliza el doble prev () vas a tener que ajustar su código cuando cambia su margen de beneficio. Si lo hace con bastante frecuencia, que hace que hacer cambios en una pesadilla más tarde.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top