Php 这个jquery删除函数?

Php 这个jquery删除函数?,php,jquery,html,fadein,Php,Jquery,Html,Fadein,我对这个jquery有一个问题,在success函数调用中,它意味着删除“support”按钮,并在消息中淡出,这是我的jquery代码: $('.stats').delegate('.against', 'click', function(e) { //stop event e.preventDefault(); // cache a reference to the previous <li> element // si

我对这个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();
           }
      });
 });
$('.stats').delegate('.from','click',函数(e){
//停止事件
e、 预防默认值();
//缓存对上一个
  • 元素的引用 //因为它被多次使用 var$prevLi=$(this.nexist('li').prev('li'); //拿到身份证 var the_id=$prevLi.attr('id').split('uu').pop(); //主要的ajax请求 $.ajax({ 背景:这,, 类型:“POST”, 数据:“行动=反对&id=“+行动id, url:“ajax/sa.php”, 成功:功能(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>
    
    • 10 支持者
    • 支持
    • 20
    • 反对

    此jquery旨在删除单击时的支持按钮,新分数将淡入!:)谢谢

    按钮位于
    前面的
  • 2中。针对包含一个按钮的
    ,因此您的呼叫应该如下所示:

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

    为什么不使用$(“按钮[type=submit]”)呢?或者仅仅是美元(“按钮”)?如果使用double prev(),则必须在标记更改时调整代码。如果你经常这样做,那以后做更改就成了一场噩梦。

    为你的成功干杯,我可以再问你一个问题吗,在成功中,我怎样才能在
    成功点击
    后添加一条消息,所以基本上在用户点击后,他们会收到此消息以获得反馈!!干杯:)+向上投票me@getaway-你想把
    放在标记中的什么地方?@getaway-你不能把它放在那里,
    不是
    的有效子元素(所以一定要用
  • 包装它)。如果
    已完成,但您可以在其中进行搜索:
    $(this).closest('ul').find('success').html(message)
    (您也可以对
    使用相同的最近/查找)。很抱歉,我再次更改了代码,我本来打算在外部使用,我需要进入睡眠状态,因为您的解决方案将删除所有按钮,而不是与单击的按钮相关的按钮,如果页面上有40个这样的按钮呢?:)@nick那么你认为最好还是改变一下,或者把它放在一边,如果他有40个这样的按钮,并且他使用的是prev()。prev(),那么他的代码/标记很糟糕。