0

如何选择第三个链接以删除右边框?前三个是文本链接,我想从最后一个文本链接中删除右边框。最后两个是按钮。我也不想要按钮之间或按钮末尾的边框。我无法相信我在这方面遇到了多大的麻烦。它可能是一个简单的解决方案,但它让我永远为浏览器弄清楚它。谢谢。

Javascript

<script language="javascript" type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <script language="javascript">
        $(document).ready(function() {
        $("ul.subnavigation li:nth-child(3)").addClass("last-child");
    });
        </script>

HTML

<ul class="subnavigation">
                <li><a href="$sign_in_url" id="Program" rel="nofollow" ></a>Program </li>
                <li><a href="$sign_in_url" id="About" rel="nofollow" >About </a> </li>
                <li><a href="$sign_in_url" id="faq" rel="nofollow" >How to/FAQs</a> </li>
                <li><a href="$sign_in_url" id="register" rel="nofollow" class="btn_register hide-text">Register</a> </li>
                <li><a href="$sign_in_url" id="signin" rel="nofollow" class="btn_signin hide-text">Sign in</a></li></ul>

CSS

ul.subnavigation {  
    font-family:Arial, sans-serif; 
    font-weight:bold; 
    font-size:16px;
    color:#333333; 
    list-style:none;
    }

.subnavigation li{
    display:inline;
    border-right:1px solid #ccc;
}

.subnavigation li:last-child{
    display:inline;
    border-right:0px;
}


.last-child {border:none;}

.subnavigation li a   {
    text-decoration:none;
    padding:0 10px 0 10px;
    line-height:18px;

    }

.subnavigation li a:hover {
    color:#2274ac;
    }


.subnavigation a.btn_register {
    background:url(../images/nt_btn-register.png) no-repeat;
    width:66px; 
    height:23px;
    display:inline-block;
    margin:0 5px 0 0;
    float:right;
    text-indent:-999px;
    }

.subnavigation a.btn_signin {
    background:url(../images/nt_btn-signin.png) no-repeat;
    width:56px; 
    height:23px;
    display:inline-block;
    margin:0 10px 0 5px;
    float:right;
    text-indent:-999px;
    }

.hide-text {
text-indent: 100%;
white-space: nowrap;
overflow: hidden;
}

JS 小提琴在这里

4

3 回答 3

2

你不需要 jQuery。这里是纯 CSS - DEMO

.subnavigation li:nth-child(n+3) {
    border: 0;
}

更新

上面的代码不适用于旧版 IE-s - :nth-child浏览器支持

为了使其向后兼容,您仍然必须使用 jQuery - DEMO

$(function() {
    $(".subnavigation").find("li:gt(1)").css("border", 0);
});
于 2012-09-26T20:46:06.963 回答
1

将您的 CSS 更改为更具体

li.last-child {border-right:0px;}

然后 jQuery 你可以使用.slice()来获取li索引 2> 的元素来删除右边框

$(document).ready(function() {
   $("ul.subnavigation li").slice(2).addClass("last-child");
});​

http://jsfiddle.net/A46Ka/2/

于 2012-09-26T20:43:14.853 回答
0

这也应该工作

$("ul.subnavigation li:gt(1)").addClass("last-child");

根据您的风格添加它,它应该可以工作

.last-child 
{
   border-right:0px !important;
}

设置!important将覆盖默认样式

检查这个小提琴

于 2012-09-26T20:42:07.573 回答