如何选择Jquery中不在隐藏父级中的所有表单元素?

时间:2015-07-08 10:05:53

标签: javascript jquery html jquery-selectors

我只需要一个jQuery选择行/选择器(由于JS插件限制)来查找所有inputs(隐藏类型输入也是如此!!! ie&#39; <input type=hidden />&#39 ;)由于其父项之一而不是隐藏,我尝试了这个

:parent:not(hidden) input

但它不起作用(应仅返回input2和input3)。

这是一个显示问题的jsfiddle:jsfiddle Demo

2 个答案:

答案 0 :(得分:4)

隐藏父级时,其后代也会隐藏。使用:visible伪选择器

$('input:visible')

Demo

<强>更新

  

找到所有输入(隐藏类型输入也是!!!

$("input:visible, input[type='hidden']")

Demo

答案 1 :(得分:0)

您可以使用:visible选择器

执行此操作
$("input:visible");

<强>更新

var jqueryselect = ":parent:visible input";
var res = "";
$("body").find(jqueryselect).each(function(i, ele){
    res += $(ele).attr("id") + " ";
});

$("#jqselect").text(jqueryselect);
$("#result").text(res);

更新(问题代码更新后)(FIDDLE

var jqueryselect =$("input").filter(function() { return  $(this).parent().is(":visible")  });
var res = "";
$("body").find(jqueryselect).each(function(i, ele){
    res += $(ele).attr("id") + " ";
});

$("#jqselect").text(jqueryselect);
$("#result").text(res);