我想我可以使用.next,不确定,如果有更好的方法请告诉我。我有一个设置了UL的标签,UL中的每个LI在底部都有1px虚线边框,除了“有效”li。 “活动”选项卡具有背景图像。如果任何LI之后的LI具有活动类,我需要删除边框。
<ul id="flowtabs">
<li><a href="t1">Analysis</a></li>
<li><a href="t2">Manual Trading</a></li>
<li><a href="t3" class="active">Automatic Trading</a></li>
<li><a href="t4">Simulate</a></li>
<li><a href="t5">Connect</a></li>
<li><a href="t6">Extend</a></li>
</ul>
$(document).ready(function() {
if($('#flowtabs li a').hasClass('active').next('css','border','none')
}
我希望<a href="t2">
和<a href="t4">
删除其边框,并在li让该类处于活动状态时应用此选项。
我不认为构造是正确的,是否有更好的方法从具有“活跃”类的那个之前和之后移除LI的边界
这是一张图片来帮助:http://img693.imageshack.us/img693/5384/screenshot20100907at147.png
谢谢!
答案 0 :(得分:1)
这可以满足您的具体要求,从活动<li>
任意一侧的<li>
移除边框:
$(function() {
$('#flowtabs li a.active').parent('li').next().add($('#flowtabs li a.active').parent('li').prev()).css('border','none');
});
这是一个有效的演示:http://jsfiddle.net/WUu2F/
这就是我认为你真正想要的,我在你对你的问题的评论中提到过:
$(function() {
$('#flowtabs li a.active').parent('li').prev().andSelf().children('a').css('border','none');
});
答案 1 :(得分:1)
$(document).ready(
function ()
{
$('#flowtabs li a.active').filter(function(i) { return i > 0; }).parent('li').css('border', 'none');
}
);
这将删除第一个li a.active
之后出现的li a.active
周围的边框。
你的问题有点令人困惑,所以我想在经过第二次阅读后,我会更清楚你想要的是什么。
$(document).ready(
function ()
{
$('#flowtabs li a.active').parent('li').prev('li').css('border-bottom','none').end().next('li').css('border-top', 'none');
}
);
这将删除li
之前和之后的li a.active
边框$(document).ready(
function ()
{
$('#flowtabs li a.active').css('border-bottom', 'none').parent('li').prev('li').children('a').css('border-bottom','none');
}
);
。我添加了这个是因为你的解释和形象。
第3版
border
这会从您的current
和previous
li
标记中删除{{1}}。似乎是你从一开始就想要的,是吗?
答案 2 :(得分:0)
为什么不采用相反的方式,并使用li
类为active
添加下划线。
$(document).ready(function() {
$('#flowtabs li a').hasClass('active').parent('li').css('border','none');
}
但是,如果你想这样做的话。然后有一些问题。在li
active
之前li
呢?无论哪种方式,next
都会定位a
元素,而不是li
。这将删除所有li
的边框,但active
a
除外。
$(document).ready(function() {
if($('#flowtabs li a').hasClass('active').parent('li').siblings().css('border','none')
}
答案 3 :(得分:0)
可能你可以做类似这样的事情
$(document).ready(function(){
$('#flowtabs li a').not('.active').css('border','none');
});
这意味着任何'a'标记除了具有类'active'的标记 - &gt;删除边框。