Beiträge von AndreasB

    Du suchst ab dem übergeordneten <tr> nach dem Pfad table td .dunkel, demnach müsste es unterhalb von <tr> eine <table> geben, gibt es aber nicht. Deshalb wundere ich mich, dass das funktioniert.

    Hier eine Erklärung dafür: mdn: Element.querySelectorAll()

    Das standard Verhalten von Element.querySelectorAll() ist es, dass, nur der letzte Teil des Selektors überprüft wird.


    source.closest('tr').querySelectorAll('table td .dunkel'); ist als das gleiche wie: source.closest('tr').querySelectorAll('.dunkel');


    Wenn man den Kompletten Selektor berücksichtigt haben möchte gibt es die Pseudoklasse :scope.
    source.closest('tr').querySelectorAll(':scope table td .dunkel');
    würde kein Element selektieren.