我的页面生成两个具有相同ID的UL,我想通过CSS删除最后一个(显示:无)。我正在尝试:最后一个孩子的财产,但没有运气。我要么让它们都消失,要么都不消失。
示例:
<div id="content">
<ul id="some-ul">
<li>...</li>
<li>...</li>
</ul>
<ul id="some-ul">
<li>...</li>
<li>...</li>
</ul>
</div>
我想将display:none仅应用于#content中的最后一个ul#some-ul。
答案 0 :(得分:3)
可以这样做:
#content ul:last-child {
display:none;
}
请注意,只有IE9 +支持last-child
。正如@Jop所提到的,你应该在最后一个子元素上设置一个类来解决旧版IE的问题。
此外,请记住,ID 始终应该是唯一的。
答案 1 :(得分:0)
完全通用的方法,它不依赖于任何类或ID
div ul:last-of-type li:last-child {
display:none;
}
所以基本上,div是包含列表项的父项 - 如果需要,它可以有一个类或ID。
在其中,你有你的ul标签 - 最后一个类型的魔法,找到父div中的最后一个ul。然后你只需使用li上的最后一个孩子。
这是小提琴: http://jsfiddle.net/Kx8SN/