Freitag, April 10, 2020

ersetzen Klassennamen div mit mehreren Klassen

ich habe ein div-Element mit 3 oder 4 Klassen auf. ich muss die Klasse mit name = „aClass“ und ersetzen Sie es mit „anotherClass“. wie kann ich das mit jquery? „aClass“ erscheinen konnte an jedem Punkt in der classname Liste in verschiedenen Situationen, z.B. in einem Fall die erste Klasse, in einem anderen könnte es der Letzte sein wird, oder sogar die Mitte.

InformationsquelleAutor newbie_86 | 2011-04-18

4 Kommentare

  1. 9

    Verwenden .removeClass() und .addClass():

    $('.aClass').removeClass('aClass').addClass('anotherClass');

    Können Sie auch eine Zeichenfolge-Ersatz auf der class Attribut, aber wie Sie sehen, sind Sie besser dran, nur mit dem ersten Beispiel:

    $('.aClass').attr('class', function() {
        return $(this).attr('class').replace('aClass', 'anotherClass');
    });
  2. 1

    Da die Frage (also den Titel) nicht erwähnt jQuery (nicht, bis die vollständige Erklärung) ich beitragen mit meiner reinen JS Lösung.

    var el = document.getElementById("myDiv");
    el.className = el.className.replace(/\baClass\b/," anotherClass ");}

    Diese fangen sollte „foo “ aClass“, „aClass “ foo“ und „foo aClass bar“. Nachteil: es werden immer zusätzliche Leerraum, aber es sollte nicht etwas zu brechen.

  3. 0

    Nicht schwer:

    var replace_this = 'aClass';
    var with_this    = 'anotherClass';
    $('.' + replace_this).removeClass(replace_this).addClass(with_this);

Kostenlose Online-Tests