Javascript 删除所有div(具有特定类),但包含特定id下拉列表的div(具有相同类)除外

Javascript 删除所有div(具有特定类),但包含特定id下拉列表的div(具有相同类)除外,javascript,jquery,Javascript,Jquery,我有一个代码说明: $(“.risk_main_div:not(#risk_1)”).remove() div#risk_1包含一个下拉列表,其id是使用此概念获取的: firstIDdrop=$(“.input\u field.criteria\u risk”).first().attr('id') 由于删除#risk_1是非常困难的,我希望它能像这样实现 $(“.risk\u main\u div:not([firstIDdrop的父项]))。删除() 如何更正此代码 HTML 这是一个粗糙

我有一个代码说明:

$(“.risk_main_div:not(#risk_1)”).remove()

  • div
    #risk_1
    包含一个下拉列表,其id是使用此概念获取的:

    firstIDdrop=$(“.input\u field.criteria\u risk”).first().attr('id')

  • 由于删除
    #risk_1
    是非常困难的,我希望它能像这样实现

    $(“.risk\u main\u div:not([firstIDdrop的父项]))。删除()

  • 如何更正此代码

    HTML 这是一个粗糙的HTML,就像这样

    <div id="risk_1" class="risk_main_div">
         <div id="risk_drp_cont_1">
             <select id="risk_mitigator_offer_1" class="input_field criteria_risk" multiple="" style="width: 302px; display: none;" name="risk_mitigator_offer_1[]">
         </div>    
         <div id="risk_wgt_cont_1">
              <input id="risk_weight_1" class="input_field" type="text" maxlength="3" style="color:#777777; width: 40px;" value="0" name="risk_weight_1">
         </div>
          <div id="risk_del_cont_1">
             <a id="delete_mitigator" href="javascript:void(0);" onclick="deleteRisk(1)"></a>
          </div>
          <div style="clear:both">
    </div>
    
    <div id="risk_2" class="risk_main_div">
         <div id="risk_drp_cont_2">
             <select id="risk_mitigator_offer_2" class="input_field criteria_risk" multiple="" style="width: 302px; display: none;" name="risk_mitigator_offer_2[]">
         </div>    
         <div id="risk_wgt_cont_2">
              <input id="risk_weight_2" class="input_field" type="text" maxlength="3" style="color:#777777; width: 40px;" value="0" name="risk_weight_2">
         </div>
          <div id="risk_del_cont_2">
             <a id="delete_mitigator" href="javascript:void(0);" onclick="deleteRisk(2)"></a>
          </div>
          <div style="clear:both">
    </div>
    

    要查找某人的家长,我建议您先选择与您不想匹配的家长id不匹配的任何家长,然后选择您要查找的内容

    按照这些思路应该可以做到:

    $("not:(" + firstIDdrop + ") .risk_main_div").remove()
    

    如果我理解正确,您首先可以在获取
    id
    时获取父对象。大概是这样的:

    var $parent = $(".input_field.criteria_risk").first();
    $(".risk_main_div:not(#" + $parent.attr("id") + ")").remove();
    
    您可以将选择器与选择器一起使用

    如果
    firstIDdrop
    是一个变量

    $(".risk_main_div:not(:has(#" + firstIDdrop +"))").remove();
    
    $(函数(){
    $(“.risk_main_div:not(:has(#firstIDdrop)))。删除();
    });
    
    
    1.
    2.
    3.
    1.
    2.
    4
    $(".risk_main_div:not(:has(#" + firstIDdrop +"))").remove();