如何删除其他部分中的按钮

时间:2014-09-10 16:05:57

标签: jquery

我有这个HTML。

<div id="restmenu" class="restMenu">
   <ul>

      <section id="LocationX" class="ulseWrap lielement">
         <div class="intit">LocationX<span class="inDelete"></span></div>
         <ul class="restListings">
            <div class="inner-intit">
               <sub class="sub">Your Favorite Restaurant</sub><br>
               <li>
                  <h6>Swaghat</h6>
                  <p>MadhaPur , Near Policstation,Hyderabad</p>
                  <span class="inDelete inDeleteSub"></span>
               </li>
            </div>
            <input type="button" location="LocationX" name="btn1" class="btn btn-success addNewRestaurant" value="LocationX">
         </ul>
      </section>

      <section id="SoftSol" class="ulseWrap lielement">
         <div class="intit">SoftSol<span class="inDelete"></span></div>
         <ul class="restListings"><input type="button" location="LocationX" name="btn1" class="btn btn-success addNewRestaurant" value="LocationX"></ul>
      </section>

   </ul>
</div>

我需要删除SoftSol位置中的按钮

我试过这种方式

var locationname = 'SoftSol';
$("#restmenu").find('section').not("#"+locationname).find('.addNewRestaurant').remove();

但它没有移除Button。

有人可以告诉我这个问题吗?

我仍有问题,我无法删除其他部分中出现的按钮名称 addNewRestaurant

这是我的代码

function showRestaurantDetailsByLocation(responseeee,locationname)
{

        var ulhtml = $('<ul class="restListings"></ul>'); 
        var divhtml = $('<div class="inner-intit"><sub class="sub">Your Favorite Restaurant</sub></div>'); 
        divhtml.append('<br>');
        for(var i=0;i<responseeee.length;i++)
        {
          divhtml.append('<li><h6>'+responseeee[i].name+'</h6><p>'+responseeee[i].address+'</p><span class="inDelete inDeleteSub"></span></li>'); 
        }
         ulhtml.append(divhtml);
        $('.restListings').empty();
           $("#"+locationname).append(ulhtml); 
           $("#restmenu").not("#"+locationname).find('.addNewRestaurant').remove();
var $newbutton= $('<input/>').attr({ type: 'button', location:locationname , name:'btn1', class:'btn btn-success addNewRestaurant',value:locationname});
        $('.restListings').append($newbutton);
        $(".restListings").show();
        $("#restmenu").show(); 
}

2 个答案:

答案 0 :(得分:0)

要删除SoftSol位置中的按钮,请执行以下操作:

$("#restmenu").find("#"+locationname).find('.addNewRestaurant').remove();

目前您正在使用not("#"+locationname),因此它正在移除其他按钮,它将删除addNewRestaurant元素中属于restmenu类的所有其他按钮不在id=SoftSol的元素中。

<强> JS Fiddle Demo

答案 1 :(得分:0)

尝试

var locationname = 'SoftSol';
$("#restmenu").find("#"+locationname).find('.addNewRestaurant').remove();

工作Demo