我想基于值隐藏元素和标签: 我的HTML代码看起来像这样
<form id="wrapper">
<label>
<input type="checkbox" value="Slider">
Slider
</label>
</form>
因此,使用jquery,我可以找到包含value="Slider"
的输入值,但标签仍然存在,因为它不包含任何id
或class
,我无法添加那里有什么,所以我怎么能隐藏呢
$('#wrapper').find("input[value='Slider']").each(function(){
$(this).hide()
});
这是JSFIDDLE。
答案 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();
});