2011-01-13 177 views
0

我想添加类“选择”,当一个链接被点击,当用户点击下一个链接时,我想删除以前的“选择”类并添加“选择”到链接提前点击..jquery动态添加和删除类

-Thanks

$(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。您有多个具有相同ID的元素。

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"); 
}); 

它将被自动删除刚刚DIV类选择 ='新闻瓦特'

如果妳使用:

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

当u想添加更多的元素一个到DOM出从 DIV CLASS = '新闻-W'它也将被删除..

1

要添加添加类或ID时的切换效果,请使用此选项。

$(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"); 
        } 
       }); 
      }); 

是的,我知道,我来参加聚会很晚。