我有元素列表。 检查此列表是否包含值为0的元素的最佳方法是什么?
<ul>
<li><input type="hidden" value="0" name="Locations.Locations[0].LocationId" id="Locations_Locations_0__LocationId" class="selected-id"></li>
<li><input type="hidden" value="1" name="Locations.Locations[1].LocationId" id="Locations_Locations_1__LocationId" class="selected-id"></li>
<li><input type="hidden" value="2" name="Locations.Locations[2].LocationId" id="Locations_Locations_2__LocationId" class="selected-id"></li>
</ul>
在示例中 - 检查ul是否包含值为0的元素。
我尝试使用$('li input.selected-id').each()..
我检查每个元素值,但我不认为这是最好的方式
答案 0 :(得分:3)
答案 1 :(得分:0)
试试这个:
$('li input.selected-id').each(function(){
return $(this).val() == 0;
});
答案 2 :(得分:0)
有两种方法。
jQuery添加了:has
伪类:
var theLi = $("ul li:has(input[value=0])");
...但它的缺点是jQuery无法将查询交给浏览器的内置选择器引擎。
你可以这样做:
var theLi = $("ul input[value=0]").closest("li");
...它不使用任何jQuery选择器添加,但确实需要两个步骤。