jQuery – 添加ID而不是类

我正在使用当前的jQuery :

$(function() { $('span .breadcrumb').each(function(){ $('#nav').addClass($(this).text()); $('#container').addClass($(this).text()); $('.stretch_footer').addClass($(this).text()) $('#footer').addClass($(this).text()); }); }); 

它将面包屑中的文本应用到页面上的4个元素,使我可以专门针对页面上的页面。

我想尝试添加一个ID而不是一个类,我怎么能做到这一点?

尝试这个:

 $('element').attr('id', 'value'); 

所以它成为;

 $(function() { $('span .breadcrumb').each(function(){ $('#nav').attr('id', $(this).text()); $('#container').attr('id', $(this).text()); $('.stretch_footer').attr('id', $(this).text()) $('#footer').attr('id', $(this).text()); }); }); 

所以你正在改变/覆盖三个元素的id,并添加一个id到一个元素。 您可以根据需要修改…

请记住,这将覆盖该元素已有的任何ID:

  $(".element").attr("id","SomeID"); 

addClass存在的原因是因为一个元素可以有多个类,所以你不希望覆盖已经设置的类。 但是大多数属性在任何时候都只允许有一个值。

 $('selector').attr( 'id', 'yourId' ); 

如果你想“添加到id”而不是取代它

首先捕获当前的ID,然后追加你的新ID。 对于在其表单上使用input状态的twitter bootstrap特别有用。

  new_id = '{{old_id}} inputSuccess'; old_id = that.attr('id'); that.attr('id', new_id.replace( /{{old_id}}/ig,old_id)); 

如果你不这样做 – 你将失去以前设置的任何属性。

心连心,

我正在做咖啡的脚本

 booking_module_time_clock_convert_id = () -> if $('.booking_module_time_clock').length idnumber = 1 for a in $('.booking_module_time_clock') elementID = $(a).attr("id") $(a).attr( 'id', "#{elementID}_#{idnumber}" ) idnumber++