【问题标题】:How to select all form elements which are not in a hidden parent in Jquery?如何选择不在 Jquery 中隐藏父级中的所有表单元素?
【发布时间】:2015-07-08 10:05:52
【问题描述】:

我只需要一个 jQuery 选择行/选择器(由于 JS 插件限制)即可找到所有未隐藏的inputs(隐藏类型输入!!!即'<input type=hidden />')隐藏 由于它的父母之一,我尝试了这个

:parent:not(hidden) input

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

这里有一个显示问题的 jsfiddle:jsfiddle Demo

【问题讨论】:

    标签: javascript jquery html jquery-selectors


    【解决方案1】:

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

    $('input:visible')
    

    Demo

    更新

    查找所有输入(隐藏类型输入也是如此!!!

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

    Demo

    【讨论】:

    • 我编辑了我的问题,你的方式我也无法检索隐藏类型输入
    • @Frntz 你检查了Demo
    • 是的 tushar,但我用更复杂的方法编辑了我的 jsfiddle,这似乎是问题所在
    【解决方案2】:

    你可以用: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);
    

    【讨论】:

    • 我编辑了我的问题,你的方式我也无法检索隐藏类型输入
    • 我用这个更新了小提琴:jsfiddle.net/fkhv4ckq/7。这是你要找的吗?
    • 谢谢 hemal,但我增强了我的 jsfiddle,当输入尽可能多的父母时,它似乎不起作用
    • 请提供更多关于您当前小提琴的详细信息
    • 你检查过我的小提琴吗?
    猜你喜欢
    • 1970-01-01
    • 2010-10-15
    • 2014-03-08
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 2012-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多