我正在尝试为以下元素设置自定义样式
- ul - 许多孩子中的第一个(ul.first)
- 许多孩子中的最后一个(ul.last)
- 唯一的孩子(ul.first.last 或 ul.only)
HTML:
<ul class="selector">
<li class="selector">some li
<ul class="">
<li>some fancy li - the ul parent should have first class</li>
</ul>
<ul class="">
<li>some more li - the ul parent should have last class</li>
</ul>
</li>
<li class="selector">some second li
<ul class="">
<li>some lonely li - the ul parent should have first and last classes</li>
</ul>
</li>
</ul>
所以我想出了一个 jQuery 希望做的伎俩
$('ul.selector li.selector > ul').each(function () {
if ($(this).is(':first') && $(this).is(':last')) {
$(this).addClass('first last');
} else if ($(this).is(':first')) {
$(this).addClass('first');
} else if ($(this).is(':last')) {
$(this).addClass('last');
}
});
感谢您的任何建议。
更新 - 这是一个你可以玩的小提琴,基于一个答案:http: //jsfiddle.net/qAtpe/