Jquery 如何在单击事件时更改类

Jquery 如何在单击事件时更改类,jquery,jquery-plugins,jquery-selectors,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> DD1

我试图将CSS类更改为click事件中的元素,但看不出在我的示例中必须使用哪个选择器。请看,我有一个包含一些DD的DL,第一个DD有class=“active”,当我选择任何其他DD时,我需要删除该类,并将该类指定给选择的DD,明白吗?举个例子:

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

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

编辑:样品准备好了!! 转到并以demo/demo123的身份登录,然后转到“Directorio”,您将看到过滤器和字母“A”、“B”等旁边,因为您可以看到A是默认的,并且具有活动类,但选择“B”或任何其他选项并查看发生了什么,这就是我之前提到的

干杯,谢谢

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


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

这仍然很有问题,最好将类设置为服务器端脚本中当前选定的字母。

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

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

粗略的研究将为此提供大量资源。你找过了吗?查看jQuery的
on()
toggleClass()
方法。当然,我在这里询问之前做过研究,但无法使我的代码正常工作,因为我请求帮助@utkanosurory research将为此提供大量资源。你找过了吗?查看jQuery的
on()
toggleClass()
方法。当然,我在这里询问之前做过研究,但无法让我的代码正常工作,因为我请求帮助@Utkanosit正常工作,但是暂时的,因为活动类返回到第一个元素,这意味着DD1,其他代码也会出现同样的情况,我不理解。如果单击活动元素本身,是否要删除该类?否,我不想从默认元素中删除该类,该元素是第一个DD1元素,并指向单击的元素,表示DD2或DD3,甚至DD1,如果是这样的情况,现在我知道发生了什么。单击后,页面将完全重新加载,JavaScript所做的更改将不再适用。我将把我的答案编辑成对你有用的东西。它起作用,但是暂时的,因为活动类返回到第一个元素,这意味着DD1,其他代码也会发生同样的情况,我不理解。如果单击活动元素本身,是否要删除该类?否,我不想从默认元素中删除该类,该元素是第一个DD1元素,并指向单击的元素,表示DD2或DD3,甚至DD1,如果是这样的情况,现在我知道发生了什么。单击后,页面将完全重新加载,JavaScript所做的更改将不再适用。我将把我的答案编辑成对你有用的东西。这是非常罕见的,因为你的代码可以在JSFIDLE上工作,而我的代码不能,我只是复制粘贴其他东西!我会将文件上传到某个地方,并在几分钟后在这里留下链接。这是非常罕见的,因为您的代码在JSFIDLE上工作,而我的代码不工作,我只是复制并粘贴其他内容!我会把文件上传到某个地方,几分钟后在这里留下链接