Jquery 如果span包含“隐藏父元素”;(0)";

Jquery 如果span包含“隐藏父元素”;(0)";,jquery,Jquery,HTML <div>Group 1 <br> <input type="checkbox" name="testing" value="B"> <label>A<span>(34)</span></label> <br /> <input type="checkbox" name="testing" value="I"> <label

HTML

<div>Group 1
    <br>

        <input type="checkbox" name="testing" value="B"> <label>A<span>(34)</span></label>
    <br />
        <input type="checkbox" name="testing" value="I"> <label>B<span>(0)</span></label>
    <br />
        <input type="checkbox" name="testing" value="A"> <label>C<span>(323)</span></label>
    <br />
</div>
<div>Group 2
    <br>

        <input type="checkbox" name="testing2" value="B"><label>A<span>(0)</span></label>
    <br />

        <input type="checkbox" name="testing2" value="I"><label>B<span>(564)</span></label>
    <br />

        <input type="checkbox" name="testing2" value="A"> <label>C<span>(0)</span></label>
    <br />
</div>
如果子范围包含(0),我想隐藏带有标签的复选框。你可以看到我在上面尝试了什么,但它不起作用。怎么做

标记:

<div>Group 1
    <div>
        <input type="checkbox" name="testing" value="B"> <label>A<span>(34)</span></label>
    </div>
    <div>
        <input type="checkbox" name="testing" value="I"> <label>B<span>(0)</span></label>
    </div>
</div>
试试这个:

$.each( $("input[type=checkbox]") , function(key, value) {  
    var element = $(value);
    if (element.next().find("span").text()==="(0)") {               
        element.prev().hide();  // remove the <br>
        element.hide();
        element.next().hide(); // remove the label
    }   
});
$。每个($(“输入[type=checkbox]”),函数(键,值){
变量元素=$(值);
如果(element.next().find(“span”).text()=“(0)”{
element.prev().hide();//删除
元素。隐藏();
element.next().hide();//删除标签
}   
});

你到底想做什么,删除属性,在下一行设置属性,几乎同时隐藏和显示同一个元素?我试图隐藏跨度包含(0)的复选框。这就是我寻求帮助的原因。小提琴中的代码似乎与问题中的代码根本不匹配。这里有一把小提琴,所有东西都已修复->?哈哈,我没有,抱歉。很抱歉侮辱了您的代码,但这在语法和cpu时钟方面要便宜得多:
$("label span:contains('(0)')").closest("div").hide();
$.each( $("input[type=checkbox]") , function(key, value) {  
    var element = $(value);
    if (element.next().find("span").text()==="(0)") {               
        element.prev().hide();  // remove the <br>
        element.hide();
        element.next().hide(); // remove the label
    }   
});