如何更改点击事件的课程

时间:2012-08-01 14:41:39

标签: jquery jquery-plugins jquery-selectors

我试图将CSS类更改为click事件上的元素,但无法看到哪个是我必须在我的情况下使用的选择器。看到我有一个带有一些DD的DL,第一个DD有class =“active”,当我选择任何其他DD时我需要删除这个类并将该类调到DD拾取,明白了吗?举个例子:

<dl>
  <dd class="active">DD1</dd>
  <dd>DD2</dd>
  <dd>DD3</dd>
</dl> 

如果我选择DD2,那么class =“active”应该从DD1消失并移动到DD2,依此类推。我认为在使用:eq()但是虽然不起作用。有什么建议或帮助吗?

编辑:样品准备就绪! 转到http://comvivem.treswd.com/net/并以demo / demo123登录,然后转到“Directorio”,您将看到过滤器,旁边的字母“A”,“B”等等,您可以看到A是默认值并且具有活动类但是选择“B”或任何其他,看看发生了什么,这是我之前提到的!

干杯和谢谢

2 个答案:

答案 0 :(得分:4)

$('dd').on('click', function() {
    $(this).addClass('active').siblings().removeClass('active');
});

FIDDLE

答案 1 :(得分:0)

此JavaScript确实会更改点击链接,但在您的方案中不需要这样做:

$("dd").click(function(){
    $("dd").removeClass("active");
    $(this).addClass("active");
});

你应该做这样的事情:

$(document).ready(function(){
    var letter = window.location.pathname.slice(-1);
    $("dd").removeClass("active");
    $("dl.sub-nav dd a:contains("+letter+")").parent().addClass("active");
});

它仍然是hacky,最好将类设置为服务器端脚本中当前选定的字母。