jQuery删除复选框和关联的标签

时间:2013-12-13 14:57:32

标签: jquery label removeall

我有以下内容:

<input type="checkbox" class="oDiv" id="Parent"  name="divcorp[]" value="Parent"/>
<label for="Parent">Parent</label>

我可以使用以下内容删除checkbox,它可以正常工作:

$( "#Parent" ).remove();

但是,我怎样才能删除此复选框的相关标签?

2 个答案:

答案 0 :(得分:12)

您可以使用attribute equal selector

<强> Live Demo

$('label[for=Parent]').remove();
  

描述:选择具有指定属性的元素   值恰好等于某个值。

答案 1 :(得分:0)

如果id元素未知,但其value已知且其父级的id已知,则可以执行以下操作

代码(Demo):

<div id="payment">
    <input id="RANDOM_GENERATED-1" type="checkbox" name="div[]" value="0" />
    <label for="RANDOM_GENERATED-1">Pay Now by CC</label><br/>

    <input id="RANDOM_GENERATED-2" type="checkbox" name="div[]" value="1" />
    <label for="RANDOM_GENERATED-2">Pay Now by PayPal</label><br/>

    <input id="RANDOM_GENERATED-3" type="checkbox" name="divo[]" value="2" />
    <label for="RANDOM_GENERATED-3">Pay Later by Check</label><br/>

    <input id="RANDOM_GENERATED-4" type="checkbox" name="divo[]" value="2"/>
    <label for="RANDOM_GENERATED-4">Pay Later by Cash</label><br/>
</div>

现在如果想要删除所有后付款元素(以及标签元素),那么值为2

的元素
$('#payment').find("input[value=2]").each(function () {
    $(this).remove();
    $('label[for=' + $(this).attr('id') + ']').remove();
});