2011-01-13 4 views
0

Я пытаюсь добавить класс «выбран» при нажатии ссылки и когда пользователь нажимает на следующую ссылку, я хочу удалить ранее выбранный класс и добавить «выбранный» в ссылка щелкнул ..Jquery добавление и удаление класса динамически

-Спасибо заранее

$(document).ready(function() { 
$('.news a').click(function(){ 
    $(this).addClass("selected"); 
}); 
}); 

<div class="news-w"> 
      <div class="news" id="getnews-1"> 
      <a href="#" >topic</a> 
      </div> 
      <div class="news" id="getnews-2"> 
      <a href="#">topic</a> 
      </div>  
      <div class="news" id="getnews-3"> 
      <a href="#" >topic</a> 
      </div>  
      <div class="news" id="getnews-4"> 
      <a href="#">topic</a> 
      </div>  
      <div class="news" id="getnews-5"> 
      <a href="#">topic</a> 
      </div>      
    </div> 

ответ

6
$(document).ready(function() { 
    $('.news a').click(function(){ 
     $('.selected').removeClass('selected') 
     $(this).addClass("selected"); 
    }); 
}); 
2

Попробуйте

$(document).ready(function() { 
    $('div.news-w div.news a').click(function(){ 
     $('div.news-w div.news a.selected').removeClass("selected"); 
     $(this).addClass("selected"); 
    }); 
}); 

Также вы имеете недопустимый HTML. У вас более одного элемента с одинаковым идентификатором.

1

Другое альтернативным решением является:

var prevLink = null; 
$(document).ready(function() { 
    $('.news a').click(function(){ 
     if(prevLink) prevLink.removeClass('selected'); 
     prevLink = $(this).addClass("selected"); 
    }); 
}); 
0

Вы можете использовать это:

$('.news a').click(function(){ 
$('.news-w').find('.selected').removeClass('selected'); 
$(this).addClass("selected"); 
}); 

он будет удален автоматически просто класс выбран в классе сНа = "Новости-ш '

Если и использовать это:

$('.selected').removeClass('selected'); 

когда и хочет добавить больше элементов в DOM из класса деления = «Новости-ш» он будет удален тоже ..

1

Чтобы добавить эффект переключения при добавлении класса или идентификатора, используйте это.

$(document).ready(function() { 
       var count = 1; 
       $('#ddown').click(function(){ 
       count++; 
        if (count % 2 == 0) { 
         $('#ddown').addClass('dropup'); 
         $('#ddown').removeClass("dropdown"); 
        }else{ 
         $('#ddown').removeClass("dropup"); 
         $('#ddown').addClass("dropdown"); 
        } 
       }); 
      }); 

Да, я знаю, я пришел на вечеринку очень поздно.

Смежные вопросы