jQuery – ID toevoegen in plaats van klasse

Ik gebruik de huidige jQuery:

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

Het past de tekst in de broodkruimel toe op 4 elementen op de pagina, waardoor ik de stijl specifiek kan aanpassen aan de pagina daar.

Ik wil proberen een ID toe te voegen in plaats van een klas, hoe kan ik dit bereiken?


Antwoord 1, autoriteit 100%

Probeer dit:

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

Zo wordt het;

$(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());
    });
});

Dus u wijzigt/overschrijft de id van drie elementen en voegt een id toe aan één element.
U kunt naar wens aanpassen…


Antwoord 2, autoriteit 11%

Houd er rekening mee dat dit elke ID overschrijft die het element al heeft:

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

De reden waarom addClassbestaat, is omdat een element meerdere klassen kan hebben, dus je zou niet per se de reeds ingestelde klassen willen overschrijven. Maar bij de meeste attributen is er maar één waarde tegelijk toegestaan.


Antwoord 3, autoriteit 5%

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

Antwoord 4

als u de id wilt ‘toevoegen aan’ in plaats van deze te vervangen

leg eerst de huidige id vast en voeg dan uw nieuwe id toe. vooral handig voor twitter-bootstrap die invoerstaten op hun formulieren gebruikt.

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

als je dat niet doet, verlies je alle eigenschappen die je eerder hebt ingesteld.

hth,


Antwoord 5

Ik doe dit in 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++

Other episodes