Javascript 选择表单中除父div contains display:none之外的所有元素
我试图在表单中选择除父div contains display:none之外的元素Javascript 选择表单中除父div contains display:none之外的所有元素,javascript,jquery,html,Javascript,Jquery,Html,我试图在表单中选择除父div contains display:none之外的元素 $('*[data-val-required="required"]') 在这里,我可以选择所有元素以及父div中的隐藏元素,如 <div class="form-group" style=" display: none; " > <div class="col-sm-3 control-label"> lable </div> <div class="co
$('*[data-val-required="required"]')
在这里,我可以选择所有元素以及父div中的隐藏元素,如
<div class="form-group" style=" display: none; " >
<div class="col-sm-3 control-label">
lable
</div>
<div class="col-sm-6">
<select class="form-control" data-val-required="This field is required" >
</div>
<div class="col-sm-3"></div>
标签
如何排除这些元素您可以以
为目标。形成组
并使用伪选择器:
$('.form-group:visible *[data-val-required="required"]')
最简单的方法是在父级上使用类,如下所示:
$('.form组:可见*[data val required=“required”])
但是要确保:visible
伪选择器对于可见性:hidden
和不透明度:0
如果只有不想选择的特定元素。然后使用jQuery中的not()选择器 外汇$('*[data val required=“required”]')。不是('.control label'))
请参阅文档:可以将
:hidden
选择器与not()结合使用来排除它们
$('*[data-val-required="required"]').not(':hidden')
父对象隐藏时,其子对象也隐藏
Reference会发表评论,并询问更多信息,因为我没有完全得到所需的信息。但我同意——你的标记更有意义——我只提供了一个基于我能从这个问题中得到什么的例子。