change - jquery remove class
jQuery-Agregar ID en lugar de Class (5)
Estoy haciendo esto en coffeescript
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++
Estoy usando el jQuery actual:
$(function() {
$(''span .breadcrumb'').each(function(){
$(''#nav'').addClass($(this).text());
$(''#container'').addClass($(this).text());
$(''.stretch_footer'').addClass($(this).text())
$(''#footer'').addClass($(this).text());
});
});
Aplica el texto contenido en el rastro de navegación a 4 elementos en la página, lo que me permite darle un estilo específico a la página allí.
Me gustaría intentar agregar una ID en lugar de una clase, ¿cómo puedo lograr esto?
Prueba esto:
$(''element'').attr(''id'', ''value'');
Entonces se vuelve;
$(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());
});
});
Así que está cambiando / sobrescribiendo la identificación de tres elementos y agregando una identificación a un elemento. Puede modificar según lo necesite ...
Tenga en cuenta que esto sobrescribe cualquier ID que el elemento ya tenga:
$(".element").attr("id","SomeID");
La razón por la cual addClass
existe es porque un elemento puede tener múltiples clases, por lo que no es necesario sobrescribir necesariamente las clases ya establecidas. Pero con la mayoría de los atributos, solo se permite un valor en un momento dado.
si desea ''agregar a la identificación'' en lugar de reemplazarla
primero capture la identificación actual, luego agregue su nueva identificación. especialmente útil para Twitter bootstrap que usa estados de entrada en sus formularios.
new_id = ''{{old_id}} inputSuccess'';
old_id = that.attr(''id'');
that.attr(''id'', new_id.replace( /{{old_id}}/ig,old_id));
si no lo hace, perderá las propiedades que estableció anteriormente.
hth,
$(''selector'').attr( ''id'', ''yourId'' );