Пример: http://jsfiddle.net/4cs9h/
$('ul > li > a').click(function() {
var $th = $(this).parent();
if( !$th.hasClass('current') ) {
$th.addClass('current')
.siblings('.current').removeClass('current');
loadPage(this.href);
}
return false;
});
Переменная $th
относится к родительскому элементу <li>
<a>
, по которому щелкнули.
Если <li>
действительно не имеет класс current
, класс будет добавлен и будет удален из всех братьев и сестер, имеющих этот класс, и будет вызван loadPage()
, отправив href
атрибут нажатых <a>
.
Что касается вашего комментария, да, было бы неплохо нацелить конкретный <ul>
с помощью идентификатора.
$('#navigation > li > a').click(function() {...
HTML
<ul id="navigation">
<li class="current"><a href="#page1">Home</a></li>
<li><a href="#page3">Replies</a></li>
...
Чтобы использовать хеш-значение, включенное в страницу, вы можете передать его в функцию loadPage()
.
var hash = window.location.hash;
if( !hash || hash === '#' )
hash = "#page1";
loadPage( hash );