jQuery工作删除id,但不删除元素

jQuery工作删除id,但不删除元素,jquery,css,attr,Jquery,Css,Attr,我有一组跨距,我可以点击每个跨距,这个元素将以id=“active”为例。但是如何从上一个元素中删除id=“active” $('#active').attr("id",''); $(this).attr("id","active"); 我用这个,这个有效吗? 在这段代码之后,以前是活动元素但现在不是活动元素的元素有id,但看起来像 <span class="bunch_of_spans" id> // not active anymore (but can be active

我有一组跨距,我可以点击每个跨距,这个元素将以id=“active”为例。但是如何从上一个元素中删除id=“active”

$('#active').attr("id",'');  
$(this).attr("id","active");
我用这个,这个有效吗? 在这段代码之后,以前是活动元素但现在不是活动元素的元素有id,但看起来像

<span class="bunch_of_spans" id> // not active anymore (but can be active if i pick it)
<span class="bunch_of_spans" id="active"> // active now
<span class="bunch_of_spans"> // never was active
//不再处于活动状态(但如果我选择它,它可以处于活动状态)
//现在活跃
//从未活跃过
这是否有效,是否存在从未激活的元素中删除id的方法?谢谢使用

工作示例:

虽然这会起作用,但我建议您使用一些其他非唯一标识符来标识活动元素。课程在这方面很有用。

使用

工作示例:


虽然这会起作用,但我建议您使用一些其他非唯一标识符来标识活动元素。课程对此很有用。

要回答您的具体问题,请使用:

$('#active').removeAttr("id");
但从语义上讲,id永远不会改变,因此我建议您改用类,如:

<span class="bunch_of_spans active">

要回答您的具体问题,请使用:

$('#active').removeAttr("id");
但从语义上讲,id永远不会改变,因此我建议您改用类,如:

<span class="bunch_of_spans active">

我只是使用一个类并执行
$('.active').removeClass('active')。更好的方法是像Blender所说的那样添加和删除类。使用
$('some#u id').addClass('active')
添加类和
$('some#u id')。removeClass('active')
删除类。注意,空的
id
属性无效。我会使用@Blender的方法并使用类。谢谢,我不考虑类,我认为这将是一个很好的解决方案。ThanksI只需使用一个类并执行
$('.active').removeClass('active')。更好的方法是像Blender所说的那样添加和删除类。使用
$('some#u id').addClass('active')
添加类和
$('some#u id')。removeClass('active')
删除类。注意,空的
id
属性无效。我会使用@Blender的方法并使用类。谢谢,我不考虑类,我认为这将是一个很好的解决方案。谢谢