我目前正在制作一个菜单,并且因为菜单是一个带边缘辉光的oddshape,我需要在顶部放置一个空白块以在重叠上隐藏不需要的光晕。我在菜单的li标签中使用:after选择器来创建此代码,并执行代码工作正常。jquery使用:选择器后
然而,我的问题是,我只能通过切换显示属性来将它适用于一个或所有的菜单项,但我想要的是:after选择器仅适用于当前列表项。
每个列表项都有一个唯一的ID,但我似乎无法解决如何在jQuery中的特定列表项上使用:after选择器。
在此先感谢您的帮助。对不起,如果这不清楚。
HTML代码
<ul id="menu">
<li id="0">link 1</li>
<li id="1">link 2</li>
<li id="2">link 3</li>
</ul>
CSS列表项
#menu li{
float:left;
margin:0 20px 0 0;
height:87px;
z-index:1;
position:relative;
background: #f8f8f8;
cursor:pointer;
border:1px solid #CCC;
border-bottom:none;
}
#menu li:after{
display:none;
content: '';
position: absolute;
top: 0;
bottom: -5px;
left: 0;
width: 291px;
height:10px;
margin-top:109px;
background: #f8f8f8;
}
我认为这将是为把像
$$('li[id="0"]:after').show();
也许
$$('li[id="1"]:after').css("display" : "block");
一样简单
但这些不起作用。
CSS有一个':after'选择,但jQuery的不:http://api.jquery.com/category/selectors/ – Blazemonger
[您无法定位伪元素使用jQuery。](http://stackoverflow.com/questions/5041494/manipulating-css-pseudo-elements-using-jquery) – BoltClock
Psuedo-elements不是DOM的一部分,所以jQuery无法搜索他们。 –