【问题标题】:Multi-Conditional Selectors in jQueryjQuery 中的多条件选择器
【发布时间】:2009-03-25 10:32:11
【问题描述】:

我正在尝试选择具有多个条件的元素,例如我目前正在执行以下操作:

$('#myspan').find('input:visible').each(myfunc);

虽然我知道您可以执行 $('#myspan input:visible') 之类的操作,但它对我不起作用。我需要检查范围内的输入 #myspan 可见 并且 已检查。有什么想法吗?

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    试试:

    $("#myspan :checked:visible").each(function() {
        // do stuff
    });
    

    【讨论】:

    • 呸,要是我能有多个正确答案就好了 ;) 这个也不错。你怎么会忽略输入呢?
    • 你可以把它放进去,但它是由 :checked 暗示的(因为只有复选框可以被选中,只有输入可以是复选框)。随你想。我更喜欢简洁的表达式,但输入 input:checked:visible 很好。
    【解决方案2】:
    $('input:visible', '#myspan').find(':checked').each(function() {
        alert(this.id);
    });
    

    应该做的伎俩。我喜欢分隔事物,因为我喜欢认为它有助于 jQuery 更好地解析。

    【讨论】:

    • 指定上下文更快。不知道为什么,但似乎是这样。
    • @Seb,原因很简单:没有上下文,搜索从文档的根目录开始;)
    猜你喜欢
    • 2013-12-24
    • 2013-07-17
    • 2011-03-17
    • 1970-01-01
    • 2014-04-05
    • 2014-07-12
    • 2011-04-08
    • 2012-02-10
    • 1970-01-01
    相关资源
    最近更新 更多