【问题标题】:regular expression in jQuery selectorsjQuery 选择器中的正则表达式
【发布时间】:2012-06-12 17:12:33
【问题描述】:

我有以下 HTML:

"

data-val-required="MappingId 字段是必需的。"
id="answers_2__MappingId" name="answers[2].MappingId" type="hidden" value="23" />


jQuery 会用这个得到我所有的 questionItems:

var coll = $('.questionItem');

我不需要所有这些,我只需要具有名称为answers[/d+].SetAnswer 和值为? 的子输入的问题项。

如何构造has() 子句?

【问题讨论】:

标签: jquery jquery-selectors


【解决方案1】:

应该是这样的:

var coll = $(".questionItem").filter(function() {
    return $(this).find(":input").filter(function() {
        return /^answers\[\d+\]\.SetAnswer$/.test(this.name) && this.value == "?";
    }).length > 0;
});

演示: http://jsfiddle.net/nUNJd/

【讨论】:

    【解决方案2】:

    这里不需要正则表达式。只需使用:has 和属性选择器:

    $(".questionItem:has(input[name$='.SetAnswer'][value='?'])");
    

    小提琴:http://jsfiddle.net/jonathansampson/S8kft/

    【讨论】:

    • 正确!我喜欢 jsfiddle.net 网站,那块石头。谢谢你。
    猜你喜欢
    • 2010-09-16
    • 1970-01-01
    • 2012-05-14
    • 1970-01-01
    • 1970-01-01
    • 2012-03-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多