我试图选择表单中的元素,除了父div包含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="col-sm-6">
<select class="form-control" data-val-required="This field is required" >
</div>
<div class="col-sm-3"></div>
如何排除这些元素
答案 0 :(得分:2)
您可以定位.form-group
并使用:visible
伪选择器:
$('.form-group:visible *[data-val-required="required"]')
答案 1 :(得分:2)
可以使用:hidden
选择器与not()
相结合来排除它们
$('*[data-val-required="required"]').not(':hidden')
当父母被隐藏时,它的后代也是
答案 2 :(得分:1)
最简单的方法是使用父类上的类:
$('.form-group:visible *[data-val-required="required"]')
但是:visible
伪选择器返回true visibility:hidden
和opacity:0
答案 3 :(得分:0)
如果您只有特定元素,则不想选择。然后使用jQuery中的not()选择器。
FX。 $( '* [数据-VAL-需要= “必需的”]')。不( '控制标签')