我是jQuery新手。我喜欢使用jQuery,并试图在这方面做得更好。
我有以下菜单:
主页:没有孩子
<ul class="menu">
<li>Team 1 Photos</li>
<li>Team 2 Photos</li>
<li>Group Activities</li>
</ul>子页面有子
<ul class="menu">
<li>Team 1 Photos</li>
<li>Team 2 Photos</li>
<li>Group Activities
<ul class="children">
<li>Team 1 News</li>
<li>Team 2 News</li>
</ul>
</li>
</ul>我的CSS是:
ul.children {
width: auto;
margin-left: 0;
}
ul.children li{
border-bottom:1px solid #999;
margin-bottom: 10px;
padding-bottom: 3px;
}
ul.children li:last-child{
border-bottom:1px solid #999 !important;
}
ul.menu {
width: auto;
margin-left: 0;
}
ul.menu li{
border-bottom:1px solid #999;
margin-bottom: 10px;
padding-bottom: 3px;
}
ul.menu li:last-child{
border-bottom:none;
}我正在努力实现;如果没有孩子的话,最后一个有边框的<li>。上一个没有边框的<li> (如果有子的话)。
我希望我说得通
我已经尝试直接应用边框是/否,或者添加一个类,这样我就可以应用样式:
jQuery('#menu ul li:has(ul)').parent('li').prev()).css('border','1px solid #000');if (jQuery('.menu li:has(ul)') ) {
('ul.menu li:last-child').add Class('borderme');jQuery('.menu li:has(ul)').append('borderyes');现在我被困住了,所以请把我引向正确的方向,这样我才能学会如何实现这一点。
谢谢
LRL
发布于 2011-07-02 06:53:52
这里有一个解决方案:
ul.children {
width: auto;
margin-left: 0;
}
ul.children li{
border-bottom:1px solid #999;
margin-bottom: 10px;
padding-bottom: 3px;
}
/* Remove this css rule
ul.children li:last-child{
border-bottom:1px solid #999 !important;
}
*/
ul.menu {
width: auto;
margin-left: 0;
}
ul.menu li{
border-bottom:1px solid #999;
margin-bottom: 10px;
padding-bottom: 3px;
}
/* Remove this css rule
ul.menu li:last-child{
border-bottom:none;
}*/并且,有以下jquery:
$(document).ready(function(){
$("ul.menu li:last-child:has(ul)").css("border-bottom", "none");
});只有当li有一个子节点时,我们才会移除边框。
希望这能有所帮助。干杯,希望这有帮助,干杯。
https://stackoverflow.com/questions/6555443
复制相似问题