Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript “如何筛选”;可见的;jQuery元素是否被其他元素隐藏?_Javascript_Jquery_Twitter Bootstrap_Select - Fatal编程技术网

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.