2012-06-27 71 views
1

链接列表。当我们点击它时需要改变它的颜色,例如高亮活动链接... 我无法使用css,因为这个页面并不令人耳目一新。要突出显示当前链接。jQuery添加CSS样式动态链接列表

HTML

<table border="0"> 
    <tr style=" width: 100px;"> 
     <td> 
      <div class="overMe"> 
       <a href="javascript:void(0);" class="leftList">link 1</a> 
      </div> 
     </td> 
    </tr> 
    <tr style=" width: 100px;"> 
     <td> 
      <div class="overMe"> 
       <a href="javascript:void(0);" class="leftList">link 2</a> 
      </div> 
     </td> 
    </tr> 
    <tr style=" width: 100px;"> 
     <td> 
      <div class="overMe"> 
       <a href="javascript:void(0);" class="leftList">link 3</a> 
      </div> 
     </td> 
    </tr> </table> 

CSS

a { 
    color: darkgreen; 
} 


.selected { 
    color: red; 
} 

jQuery代码

$(document).ready(function(){ 
    $('.overMe a').click(function(){ 
     $(this).addClass('selected'); 
     $('.overMe a').siblings().removeClass('selected'); 
    }); 
}) 

例:http://jsfiddle.net/TL9rh/

+3

有什么问题吗?它完全符合你所描述的(对我而言)。 – Archer

+0

@Archer该示例具有不同的标记。看到我的答案与jsfiddle – Curt

+0

我希望它能够与上述HTML代码....看到这个http://jsfiddle.net/ipsjolly/aTsJQ/3/它仍然是彩色...... :( –

回答

3

使用.not(this)

$('.overMe a').not(this).removeClass('selected'); 

例子:http://jsfiddle.net/Curt/TL9rh/65/

+0

CoOl ...你可以解释我的.not(this)的工作:D –

+0

它选择除了你点击的所有'.overMe a'(例如。** this **一) – Curt

+0

你能告诉我们点击时如何突出显示​​....? –

3

您只需简单起见

$(document).ready(function(){ 
    $('.overMe a').click(function(){ 
     $('.overMe a').removeClass('selected'); 
     $(this).addClass('selected'); 
    }); 
}); 
+0

这也可以正常使用:) –

+0

当您删除类别时,您可以使用'thisover'代替'.overMe a' – WolvDev

+0

@ ShogunArts.de不,你不能。使用'this'只会从被点击的元素中移除类。 – Curt