如何从.bind()中排除元素?

时间:2011-01-11 02:51:41

标签: jquery css xhtml

这是示例http://jsfiddle.net/4BjVv/6/

$(function(){
    $('ul#crumbs li a').bind('click',crumbClick)
});

function crumbClick(){
    $('ul#crumbs .selected').removeClass('selected');
    $(this).parents('li').addClass('selected');
    return false;
}

“Home”列表的第一项的位置和样式应该是固定的

<ul id="crumbs">
   <li class="home"><a href="#">Home</a></li>
   <li class="selected"><a href="#">Javascript</a></li>
   <li><a href="#">Flash</a></li>
   <li><a href="#">SEO</a></li>   
</ul>

我想先保持<li>静态。

2 个答案:

答案 0 :(得分:5)

使用:not()

$(function(){
    $('ul#crumbs li:not(.home) a').bind('click',crumbClick)
});

updated fiddle

基于以下评论,这只是css造型的问题......

变化

ul#crumbs li.selected {float:left;}

ul#crumbs li.home,
ul#crumbs li.selected {float:left;}

答案 1 :(得分:2)

使用greater than selector

$('ul#crumbs li:gt(0) a').bind('click',crumbClick);

或者not selector

$('ul#crumbs li:not(.home) a').bind('click',crumbClick);