jquery:检查是否至少有一个.element包含至少一个.element2
我搞砸这件事已经有一段时间了,搞不懂 很快,我需要检查某些页面/段中的内容是否正确/是否具有适当的格式 条件jquery:检查是否至少有一个.element包含至少一个.element2,jquery,Jquery,我搞砸这件事已经有一段时间了,搞不懂 很快,我需要检查某些页面/段中的内容是否正确/是否具有适当的格式 条件 必须至少有一个元素。框 每个element.box必须包含class.question的一个或多个div元素 每个.问题必须包含两个或更多:单选按钮 这是可以的(不要与其他元素混淆,这只是一个真实的示例): 这里有一些标签。。 问题回答1.部分引用的粗体内容 这里有一些标签。。 问题回答1.部分引用的粗体内容 这里有一些标签。。 问题回答1.部分引用的粗体内容 这里有一些标签。。 问题
这里有一些标签。。
问题回答1.部分引用的粗体内容
这里有一些标签。。
问题回答1.部分引用的粗体内容
这里有一些标签。。
问题回答1.部分引用的粗体内容
这里有一些标签。。
问题回答1.部分引用的粗体内容
但是这个将失败,因为在one.question div(最后一个)中,它只有一个:单选按钮,所以它无效:
<div class="box" type="1">
<div class="question">
<div class="answers">
<table>
<tr>
<td><input type="radio" name="someName" value="1" /><label>Some Label Here..</label></td>
<feedback>Question response 1.<strong>some quoted content in bold</strong></feedback>
</tr>
<tr>
<td><input type="radio" name="someName" value="1" /><label>Some Label Here..</label></td>
<feedback>Question response 1.<strong>some quoted content in bold</strong></feedback>
</tr>
</table>
</div>
</div>
</div>
<div class="box" type="1">
<div class="question">
<div class="answers">
<table>
<tr>
<td><input type="radio" name="someName" value="1" /><label>Some Label Here..</label></td>
<feedback>Question response 1.<strong>some quoted content in bold</strong></feedback>
</tr>
<tr>
<td><label>Some Label Here..</label></td>
<feedback>Question response 1.<strong>some quoted content in bold</strong></feedback>
</tr>
</table>
</div>
</div>
</div>
这里有一些标签。。
问题回答1.部分引用的粗体内容
这里有一些标签。。
问题回答1.部分引用的粗体内容
这里有一些标签。。
问题回答1.部分引用的粗体内容
这里有一些标签。。
问题回答1.部分引用的粗体内容
我试过这样的东西,但对我不起作用…:
.filter
应该可以工作:
$(".box .question").filter(function() {
return $(this).find(":radio").length >= 2;
});
试一试
var$box=$('.box'),
valid=$box.length>0;
如果(有效){
$box.每个(函数(idx,box){
var$box=$(此),
$qtns=$box.find('.question');
如果($qtns.length==0){
有效=错误;
返回false;
}
valid=$qtns.filter(函数(){
返回$(this.find('input[type=“radio”]”)。长度<2;
}).长度==0;
如果(!有效){
返回;
}
})
}
警报(有效)
演示:不幸的是,它没有通过案例…:(怎么会这样?发生了什么?如果在其中一个.question div上我只放了一个:单选按钮,它仍然可以通过。我尝试了这种方式:if($(“.box.question”).filter(函数(){return$(this.find(“:radio”).length>=2;})alert('yes');else alert('no'));它将发出警报,因为有东西在那里,这将返回
.box。问题
符合条件的部分。接下来需要做什么?所有3个条件都必须满足…如果在1或2上失败。它不应该进一步检查…呃:D让我测试一下:D我认为它可以是一个智能jquery链接行:D:(好的,只需删除一个,如果只有一个@mariotanebaum,那么它应该失败。请参见和@mariotanebaum,第二个应该失败,因为有一个框
元素没有任何问题
$(".box .question").filter(function() {
return $(this).find(":radio").length >= 2;
});
var $boxes = $('.box'),
valid = $boxes.length > 0;
if (valid) {
$boxes.each(function (idx, box) {
var $box = $(this),
$qtns = $box.find('.question');
if ($qtns.length == 0) {
valid = false;
return false;
}
valid = $qtns.filter(function () {
return $(this).find('input[type="radio"]').length < 2;
}).length == 0;
if (!valid) {
return;
}
})
}
alert(valid)