我有以下HTML:
<div class="questionItem">
<input data-val="true" data-val-number="The field MappingId must be a number."
data-val-required="The MappingId field is required."
id="answers_2__MappingId" name="answers[2].MappingId" type="hidden" value="23" />
<input id="answers_2__Item" name="answers[2].Item" type="hidden" value="B0300" />
<input id="answers_2__SetAnswer" name="answers[2].SetAnswer" type="hidden" value="^" />
</div>
jQuery将为我提供所有问题:
var coll = $('.questionItem');
我不需要所有这些,我只需要具有名称为answers[/d+].SetAnswer
且值为?
的子输入的questionItems。
如何构建has()
子句?
答案 0 :(得分:2)
它应该是这样的:
var coll = $(".questionItem").filter(function() {
return $(this).find(":input").filter(function() {
return /^answers\[\d+\]\.SetAnswer$/.test(this.name) && this.value == "?";
}).length > 0;
});
答案 1 :(得分:1)
此处不需要正则表达式。只需使用:has
和属性选择器:
$(".questionItem:has(input[name$='.SetAnswer'][value='?'])");