Javascript “如何筛选”;可见的;jQuery元素是否被其他元素隐藏?
我有这个问题,我想使用 这假定将返回窗体的控件是可见的和必需的 问题是当我隐藏了一组元素,但这些元素是可见的,例如:Javascript “如何筛选”;可见的;jQuery元素是否被其他元素隐藏?,javascript,jquery,twitter-bootstrap,select,Javascript,Jquery,Twitter Bootstrap,Select,我有这个问题,我想使用 这假定将返回窗体的控件是可见的和必需的 问题是当我隐藏了一组元素,但这些元素是可见的,例如: <div class="group" style="display:none"> <div class="control" id="control1" required> <input type="text" /> </div> <div class="control" id="con
<div class="group" style="display:none">
<div class="control" id="control1" required>
<input type="text" />
</div>
<div class="control" id="control2" required>
<input type="text" />
</div>
...
<div class="control" id="control3">
<input type="text" />
</div>
</div>
...
当我过滤控件时,我没有得到任何东西,因为“组”隐藏了所有内容
我怎样才能解决它?(我知道怎么做,但问题是关于'[必需]:visible'
的简单性,我想要这样的答案,带有选择器)
谢谢。为什么不隐藏元素,而不是隐藏组?或者如果您对隐藏元素的值感兴趣,只需删除
:visible
过滤器。您可以使用此代码段进行操作:
$controls=$(文档).find('.control');
console.log($controls.filter(function()){
返回$(this.css('display')=='block'&&&$(this.attr('required')=='required';
}));代码>
如果你能分享一把小提琴,甚至是一个片段,我本可以更好地帮助你。但我还是会尽力回答你的问题
首先,由于你的父母被隐藏,你的孩子也会被隐藏(正常行为)
第二,试着这样做
var elem = $(element),
controlElem = elem.find(".control"),
if(controlElem.hasClass("required")){
success code goes here.
另外,不要忘记将选择器更改为(“[required=required]”)
希望这有帮助。这不是问题,当父对象隐藏时,子对象也隐藏是正常的。如果要选择所有控件(inclusiv hidden),只需将选择器更改为(“[required=required]”)
var elem = $(element),
controlElem = elem.find(".control"),
if(controlElem.hasClass("required")){
success code goes here.