• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

getElementById umdrehen

Arkved

Mitglied
Moin,

Ich möchte, dass sich onclick der Name eines Divs austauschen lässt, funktioniert auch soweit ganz gut mit:
Code:
<script type="text/javascript">
        function changeClick()
        {
                document.getElementById('wertbox').id = 'wertbox2'; 
                return false;
        }
        </script>

Nun schaffe ich es aber leider nicht, die Funktion so zu schreiben, dass je nachdem, welche id gerade existiert (wertbox, oder aber wertbox 2), die id ausgetauscht wird... Also, es gibt die id wertbox/wertbox2 nur ein einziges mal auf der Seite, und auch nur jeweils eine der beiden, diese soll onclick ausgetauscht werden, kann mir Jemand helfen den "Umdreher" einzubauen?
 
Werbung:
So was macht man ja auch mit jQuery und nicht mit Vanilla JS oder Inline-Click-Handlern.

Logik:
Beim Klick auf ein Div dessen ID auslesen
Eine if-Abfrage mit der ID: Wenn es 'wertbox' ist, soll es zu 'wertbox2' werden und umgekehrt
Ergebnis der if-Abfrage in einer Variablen speichern
Die Variable dem Div als ID zuweisen

Pattern (ungetestet):
Code:
$('div').on('click', function() {
  var id = $(this).attr('id');
  id = id === 'wertbox' ? 'wertbox2' : 'wertbox';
  $(this).attr('id', id);
});
 
Die Funktion von Tronjer ohne jQuery sähe z.B. so aus:

Code:
function changeClick(obj) {
 var newid = "wertbox";
 if( obj.id == newid ) {
  newid = "wertbox2";
 }
 obj.id = newid;
 return false;
}
 
Werbung:
Zurück
Oben