jQuery工作删除id但不是元素

时间:2012-11-13 08:44:05

标签: 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 if i pick it)
<span class="bunch_of_spans" id="active"> // active now
<span class="bunch_of_spans"> // never was active

这是否有效,可能有方法从不活动的元素中删除id?感谢

2 个答案:

答案 0 :(得分:4)

使用removeAttr

$('#active').removeAttr("id");  

工作示例:
http://jsfiddle.net/nWtYc/

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

答案 1 :(得分:2)

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

$('#active').removeAttr("id");

但从语义上讲,id应该永远不会改变,所以我建议你改用类,比如:

<span class="bunch_of_spans active">

你添加/删除这样的类:

$('#active').addClass("active");
$('#active').removeClass("active");