эта функция удаления JQuery? - PullRequest
0 голосов
/ 24 октября 2010

У меня проблема с этим jquery, при вызове функции success, это означает, что нужно удалить кнопку `support 'и исчезнуть в сообщении, это мой код 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();
           }
      });
 });

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>

этот jquery предназначен для удаления кнопки поддержки при нажатии, и новый счет должен исчезнуть! :)) спасибо

Ответы [ 2 ]

2 голосов
/ 24 октября 2010

Кнопка находится в <li> 2 предыдущих до .against, содержащих один, поэтому ваши .next() вызовы должны быть .prev() , вот так:

$(this).closest('li').prev().prev().find('button').remove();
0 голосов
/ 24 октября 2010

Почему бы не использовать $ ("button [type = submit]")?Или только $ («кнопка»)?Если вы используете double prev (), вам придется корректировать код при изменении разметки.Если вы делаете это достаточно часто, это делает внесение изменений кошмаром позже.

...