我有'ul > li'
来获取所有列表项,但我只需要抓取包含已选中复选框的项目。
所以你可以直观地看到它,它看起来像这样:
<ul>
<li>
<input type="checkbox" checked="checked">
</li>
<li>
<input type="checkbox">
</li>
<li>
<input type="checkbox" checked="checked">
</li>
</ul>
我想拉第1和第3项。
提前致谢。
所以,我有
答案 0 :(得分:6)
您可以使用:has
选择器。
$('ul li:has(input[type=checkbox]:checked)')
答案 1 :(得分:5)
为什么不倒退并从检查输入开始
$('input[type=checkbox]:checked').parent()
如果您需要上下文以防页面中有其他复选框,您可以在选择器中指定它
$('input[type=checkbox]:checked','ul li').parent()
答案 2 :(得分:4)
这是您问题的解决方案:http://jsfiddle.net/H4qba/1/
HTML code:
<ul>
<li><input type="checkbox" checked="checked" />a</li>
<li><input type="checkbox"/>b</li>
<li><input type="checkbox"/>c</li>
<li><input type="checkbox"/>d</li>
<li><input type="checkbox" checked="checked" />e</li>
<li><input type="checkbox" checked="checked" />f</li>
</ul>
jQuery代码:
$('ul > li').has('input[checked="checked"]').css({border:'1px solid #c00'});