我得到了以下HTML:
<ul class="dropdown-menu inner">
<li class="dropdown-header" data-optgroup="1">Header1</li>
<li class="selected" data-optgroup="1"></li>
<li data-optgroup="1"></li>
<li class="dropdown-header" data-optgroup="2">Header2</li>
<li data-optgroup="2"></li>//note no selected class here
<li data-optgroup="2"></li>
<li class="dropdown-header" data-optgroup="3">Header3</li>
<li class="selected" data-optgroup="3"></li>
<li data-optgroup="3"></li>
</ul>
我需要选择所有li
的{{1}}类,其dropdown-header
子组中至少有li
个selected
个data-optgroup
。在这种情况下,应选择Header1
和Header3
。我可以选择所有dropdown-header
li
个标签,但我不能只选择selected
中data-optgroup
级至少有1个li的标签。任何有关解决方案的想法都会受到欢迎。
谢谢
答案 0 :(得分:1)
对于每个dropdown-header
元素,您可以使用nextUntil()在它与下一个元素之间提取li
的集合...
var myTags = [];
$('li.dropdown-header').each(function() {
if ($(this).nextUntil('li.dropdown-header').filter('li.selected').length > 0)
myTags.push($(this).text());
});
我希望它有所帮助