使用jquery切换时如何更改活动切换锚点的样式?

时间:2013-12-19 06:42:29

标签: javascript jquery html css

我正在使用以下内容在具有相关数据的页面上切换多个链接

<div class="buttons">
    <a  class="show" target="1">Option 1</a>
    <a  class="show" target="2">Option 2</a>
    <a  class="show" target="3">Option 3</a>
    <a  class="show" target="4">Option 4</a>
</div>

<div id="div1" class="targetDiv">Lorum Ipsum 1</div>
<div id="div2" class="targetDiv">Lorum Ipsum 2</div>
<div id="div3" class="targetDiv">Lorum Ipsum 3</div>
<div id="div4" class="targetDiv">Lorum Ipsum 4</div>

JS:

$('.targetDiv').hide();
$('.show').click(function () {
    $('#div' + $(this).attr('target')).toggle('').siblings('.targetDiv').hide('');
});

哪种方法适合我想要的,但我想知道的是,当每个链接的活动时,链接的样式是否有可能发生变化。因此用户知道他们正在查看该链接的内容。因此,如果当前节目类是背景:#000;例如,我可以将其更改为背景:#fff;不知何故,当显示该选项DIV时?什么时候不恢复正常?

当前设置的JSfiddle http://jsfiddle.net/W3HtS/1/

3 个答案:

答案 0 :(得分:3)

在点击功能

上添加活动的班级名称
$('.show').removeClass('active');
      $(this).addClass('active');

<强> DEMO

答案 1 :(得分:1)

尝试这种方式:Working Fiddle

 $('.show').not(this).removeClass('active');
      if($(this).hasClass('active')){
         $(this).removeClass('active');
      }else{
         $(this).addClass('active');
      }
   });

答案 2 :(得分:0)

试试这个

 $('.targetDiv').hide();

   $('.show').click(function () {
            $(".show").removeClass("highlight");
        $(this).addClass("highlight");
        $('#div' + $(this).attr('target')).toggle('').siblings('.targetDiv').hide('');
        });

突出显示

中定义要应用的样式