Sobes.tech
Junior

Wie verwendet man einen Selektor in CSS oder JavaScript?

sobes.tech KI

Antwort von AI

In CSS geben Selektoren an, welche HTML-Elemente gestylt werden sollen. In JavaScript werden sie verwendet, um DOM-Elemente auszuwählen.

Haupttypen von CSS-Selektoren:

  • Typ-Selektor: Wählt alle Elemente eines bestimmten Typs aus.
    div {
      /* Stile für alle <div> */
    }
    
  • Klassen-Selektor: Wählt Elemente mit einer bestimmten Klasse aus.
    .meine-klasse {
      /* Stile für Elemente mit der Klasse "meine-klasse" */
    }
    
  • ID-Selektor: Wählt das Element mit einer bestimmten ID aus (muss eindeutig sein).
    #mein-id {
      /* Stile für das Element mit ID "mein-id" */
    }
    
  • Universal-Selektor: Wählt alle Elemente aus.
    * {
      /* Stile für alle Elemente */
    }
    
  • Kombinatoren: Kombinieren Selektoren.
    • Nachfahre ( ): div p - wählt alle <p> innerhalb von <div>.
    • Direkter Nachfahre (>): div > p - wählt alle <p>, die direkte Kinder von <div> sind.
    • Geschwister (+): h2 + p - wählt das erste <p>, das direkt nach <h2> folgt.
    • Allgemeiner Geschwister (~): h2 ~ p - wählt alle <p>, die nach <h2> folgen.

In JavaScript werden die Methoden querySelector und querySelectorAll verwendet, um DOM-Elemente auszuwählen.

  • querySelector: Gibt das erste Element zurück, das dem angegebenen CSS-Selektor entspricht.
    // Wählt das erste Element mit der Klasse "meine-klasse"
    const element = document.querySelector('.meine-klasse');
    
  • querySelectorAll: Gibt eine NodeList (ähnlich einem Array) aller Elemente zurück, die dem CSS-Selektor entsprechen.
    // Wählt alle <div>-Elemente aus
    const elemente = document.querySelectorAll('div');
    

Beispiel in JavaScript:

// Suche nach einem Button anhand der ID
const meinButton = document.querySelector('#mein-button');

// Füge einen Klick-Event-Handler hinzu
if (meinButton) {
  meinButton.addEventListener('click', () => {
    alert('Button wurde gedrückt!');
  });
}

// Suche alle Listenelemente mit der Klasse "list-item"
const listItems = document.querySelectorAll('.list-item');

// Ändere den Text jedes Listenelements
listItems.forEach(item => {
  item.textContent = 'Aktualisierter Text';
});

Die Beziehung zwischen CSS-Selektoren und ihrer Verwendung in JavaScript mit querySelector/querySelectorAll ist direkt. Sie können die gleichen CSS-Selektoren verwenden, die auch in den Stylesheets genutzt werden, um Elemente in JavaScript auszuwählen.