0

我试图在点击事件中更改分配给元素的 CSS 类,但看不到在我的情况下我必须使用哪个选择器。看到我有一个 DL 里面有一些 DD,第一个 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”或任何其他的,看看发生了什么,这就是我之前提到的!

干杯和感谢

4

2 回答 2

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

小提琴

于 2012-08-01T14:43:28.137 回答
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,最好将类设置为服务器端脚本中当前选择的字母。

于 2012-08-01T14:44:10.253 回答