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++