如何使用jquery基于子值隐藏标签

时间:2016-07-04 11:19:19

标签: javascript jquery html css

我想基于值隐藏元素和标签: 我的HTML代码看起来像这样

<form id="wrapper">
    <label>
        <input type="checkbox" value="Slider">
        Slider
    </label>
</form>

因此,使用jquery,我可以找到包含value="Slider"的输入值,但标签仍然存在,因为它不包含任何idclass,我无法添加那里有什么,所以我怎么能隐藏呢

$('#wrapper').find("input[value='Slider']").each(function(){
    $(this).hide()
});

这是JSFIDDLE

3 个答案:

答案 0 :(得分:5)

您需要隐藏父label元素以隐藏输入元素及其兄弟文本:

$('#wrapper').find("input[value='Slider']").closest('label').hide();

答案 1 :(得分:2)

使用.has()方法检查元素的子元素。

$("label").has("input[value='Slider']").hide();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label>
    <input type="checkbox" value="Slider">
    Slider
</label>
<label>
    <input type="checkbox" value="Slider2">
    Slider2
</label>

答案 2 :(得分:1)

你可以试试这个:

    $('#wrapper').find("input[value='Slider']").each(function(){
          // $(this).hide();  If you want to hide input too
           $(this).parent().hide();

});