我试图选择每个最后得到的元素,它们隐藏了父元素中的display:block
属性。如何选择每个具有特定css属性的最后一个孩子?
Here is an example fiddle to play with.
HTML:
<ul style="display:none;">
<li>1</li>
<li>2</li>
<li>3</li><!-- my goal is find last visible child on every hidden ul -->
<li style="display:none;">4</li>
</ul>
的jQuery:
$('ul').each(function() {
visibleCountOnEachUl =+ 0;
$(this).children('li').each(function(index) {
if ($(this).css('display') === 'block') {
visibleCountOnEachUl += 1;
$(this).addClass('theseAreVisible');
//this part works;
//i can select elems elems which got display:block
//but can't select the last elem on each ul
//if (index === (visibleCount-1)) {
//$(this).addClass('last-visible');
//}
}
});
});
$('ul').find('li:visible:last').addClass('last-visible');
//This won't effect on child elements while their parent is hidden.
我发现这个类似question但解决方案适用于可见父。
你试图解决什么问题?隐藏父母的所有孩子也将被隐藏,所以我不确定这种方法是特别可靠/有用的。 – 2013-04-06 10:10:11
@DavidThomas我正试图计算每个'ul'中的所有孩子,它们都得到'display:block'属性而不是最后一个。 – 2013-04-06 10:12:14
我明白了,但是一旦你得到了最后一个元素,你想要做什么?为什么你需要找到它? – 2013-04-06 10:14:52