2011-01-11 9 views
1

Dieses Beispiel ist http://jsfiddle.net/4BjVv/6/Wie kann das Element von .bind() ausgeschlossen werden?

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

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

Der Ort und Styling des ersten Punktes der Liste, die

festgelegt werden „Home“ soll, ist
<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> 

ich zuerst <li> statisch bleiben soll.

Antwort

5

Verwendung :not()

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

updated fiddle

basierend auf Kommentaren unten, es ist nur eine Frage der CSS-Styling ...

Änderung

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

zu

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

+1, außer ich glaube, Sie sollten einen Link zu der aktualisierten Geige umfassen. Oh warte, da ist es! : p –

+0

Danke. Ich möchte "Home" immer an erster Stelle behalten. –

+0

siehe Anmerkungen hinzugefügt ... – Reigel

2

Verwenden Sie die greater than selector:

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

Oder alternativ die not selector:

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