Живая функция JQuery и добавить / удалить класс

Я использую jquery 1.5, и у меня возникла проблема с функцией добавления и удаления класса. Ниже мой код.

Я создаю навигацию с нормальным, наведением и активным состоянием. Активное состояние я хочу добавить и удалить класс.

  $(".class").hover(function(){
          $(this).css("background-color", "#666).css("color", "yellow");
    ), function(){ 
         $(this).css("background-img", url(image).css("color","#fff");
    ).live('click', function(){
           if($("ul.me li").hasClass("current")){
             $("ul.me li").removeClass("current");
                $(this).addClass("current");
             }
        });


<ul class="me">
   <li class="current"> item1 </li>
   <li> item1 </li>
   <li> item1 </li>
</ul>

Я правильно связал это?

4 ответа

Вам, вероятно, нужно использовать $("ul.me li").removeClass("current") вместо $("ul#me li").removeClass("current")

$("selector").live('click', function(){
   if($("ul.me li").hasClass("current")){
     $("ul.me li").removeClass("current");
        $(this).addClass("current");
     }
});

Вам не хватает селектора:-

$("ul.me li").live('click', function(){
   if($("ul.me li").hasClass("current")){
     $("ul#me li").removeClass("current");
        $(this).addClass("current");
     }
});

Вы слишком усложняете вещи в своем сценарии. Вам необходимо прочитать документацию для.css. Вы не можете ссылаться на элемент $(".class"), Если вы хотите сослаться на тип элемента, используйте только имя без . или же # лайк $("ul"), Если вы хотите сослаться на использование класса $(".me") а также $("#idName") для идентификаторов. Одиночная команда css может принимать массив значений css для изменения. Как я уже говорил ранее, пожалуйста, ознакомьтесь с документацией CSS. jQuery 1.6 был настолько близок, насколько я смог получить в jsfiddle. Вот ссылка на скрипку. Пожалуйста, обратитесь к сценарию и измените значения CSS в соответствии с вашими требованиями.

скрипка

Примечание. Если вы добавляете класс в li и удаляете его при наведении, добавьте стили к классу в css, а не в js. Это дешевле.

Просто.Live не имеет смысла. Вам нужно установить.live для объекта jquery, например $('selector')

Другие вопросы по тегам