2011-01-11 76 views
1

这是例如http://jsfiddle.net/4BjVv/6/如何从.bind()中排除元素?

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

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

地点和列表的第一项是定型“家”应该是固定的

<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>静态的。

回答

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

+1,但我想你应该包括一个链接到更新的小提琴。哦,等等,它是! :p – 2011-01-11 03:02:44

2

使用greater than selector

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

或者,在not selector

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