2012-03-12 2 views
0

У меня есть nav.php в моей корень, который я называю внутри каждой страницы с помощьюaddClass & removeClass в nav.php

Этот способ я могу редактировать в одном файле, и изменение вступает в силу в течение всего сайта. Я пытаюсь удалитьClass щелчком мыши и addClass в новом пункте меню. Ниже приведен код, и я просто не могу заставить его работать.

<script> 
    $('li').click(function(){ 
     $('li.active').removeClass('active'); 
      $(this).addClass('active'); 
    }); 
</script> 

Вот это адрес

http://newriverreleasing.com

Благодаря

+1

Исходный код в ссылке, которую вы при условии, что у вас нет этого сценария в нем нигде. –

+0

на самом деле ваш код отлично работает для меня – DG3

+0

Все еще не работает для меня даже после того, как я добавил $ (this) .siblings(). RemoveClass ('active'); –

ответ

0

Есть несколько проблем, с этим ...

Селектор запроса $ ('ли'), безусловно, соответствовать более одного элемента на странице, поэтому вам нужно будет перебрать все из них и добавить функцию click(), например:

$('li').each(function() { 
    $(this).click(function(thisLi) { 
    // assuming there is only one li.active... 
    $('li.active').removeClass('active'); 
    thisLi.addClass('active'); 
    }); 
}); 

Кроме того, вы должны загрузить это на элементы, чтобы он совпадал, поместив его в $ (документ) .ready() функции, или аналогичные:

$(document).ready(function() { 
    $('li').each(function() { 
     $(this).click(function(thisLi) { 
     // assuming there is only one li.active... 
     $('li.active').removeClass('active'); 
     thisLi.addClass('active'); 
     }); 
    }); 
}); 
+1

Даже если существует несколько активных LI '$ ('li.active'). RemoveClass ('active')' удаляет активный класс из всех них. Селектор будет соответствовать всем этим, и все они будут иметь removeClass, применяемый к ним. – JohnColvin

+0

о, да. делает это также для $ ('li'). click()? Я думаю, что мне нужен итератор в прошлом, чтобы добавить триггер. – kclair

+0

Да, так оно и есть. Попробуйте это и очистите часть своего старого JS! – JohnColvin