我有一个包含label元素的列表项元素。我想用:has()
选择器选择列表项元素。在标签元素内部,我想要与:contains()
匹配的文字。是否可以通过一行jQuery来完成这两件事?如果没有,基于其子标签元素的内容选择li元素的优雅方法是什么?
<li>
<!-- I want to select this one -->
<label>Label 1</label>
<!-- more follows -->
</li>
答案 0 :(得分:7)
你想要:
$("li:has(label):contains('Label 1')")
这将选择两个都有<li>
的{{1}}并且其中包含文本<label>
的任何Label 1
。
$("li:has(label:contains('Label 1'))")
这将选择具有<li>
的任何<label>
,并且该标签特别包含文字Label 1
。 (如果Label 1
内的“<li>
” ,则第一个选择器将匹配。)
答案 1 :(得分:0)
这应该可以解决问题:
$("li:has('label'):contains('Label 1')")