我有一个代码说明:
#risk_1
div firstIDdrop = $(".input_field.criteria_risk").first().attr('id');
包含下拉列表,使用此概念获取 id :
#risk_1
由于$(".risk_main_div:not([parent of firstIDdrop])").remove();
的删除已完成硬编码,我希望它能像这样实现
<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>
如何更正此代码?
这是一个粗略的HTML,
fade(color, 30%)
答案 0 :(得分:3)
$(".risk_main_div:not(:has(#firstIDdrop))").remove();
如果firstIDdrop
是变量
$(".risk_main_div:not(:has(#" + firstIDdrop +"))").remove();
$(function() {
$(".risk_main_div:not(:has(#firstIDdrop))").remove();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="risk_main_div">1</div>
<div class="risk_main_div">2</div>
<div class="risk_main_div">3
<select id="firstIDdrop">
<option>1</option>
<option>2</option>
</select>
</div>
<div class="risk_main_div">4</div>
答案 1 :(得分:0)
要找到某人的父母,我建议你制作一个选择器,首先匹配任何与你想要不匹配的父ID不匹配的父母,然后你要找的是什么。
这些方面应该有效:
$("not:(" + firstIDdrop + ") .risk_main_div").remove()
答案 2 :(得分:0)
如果我理解正确,您可以在首先获取id
时获取父级。像这样:
var $parent = $(".input_field.criteria_risk").first();
$(".risk_main_div:not(#" + $parent.attr("id") + ")").remove();