Wie kann ich ein ntes Kind auswählen, ohne das Elternelement zu kennen?

7

Ich kann keine Möglichkeit finden, das n-te Element, das letzte Element oder das erste Element auszuwählen, wenn ich das Elternelement nicht kenne. nth-child existiert, aber nur für Kinder, zum Beispiel:

%Vor%

p:last-child wählt den Absatz "Zwei" und p:first-child den Absatz "Eins" aus. Aber was ist, wenn ich dynamische Code habe und keine Ahnung habe, was der Elternname ist, oder sogar was der Elternteil wirklich ist (kann ein div, span, anchor, ul usw.) Sein?

Zum Beispiel:

%Vor%

Wie wähle ich hier den zweiten Absatz? (Ich kann youdontknowwhat! nicht auswählen, da ich wirklich nicht weiß, welches Element es ist (es ist nur ein hypothetischer Name).

Warum gibt es first-child , last-child und nth-child selectors und NO :first , :last , :nth (wie .select-me:first )?

    
fomicz 16.11.2010, 14:29
quelle

2 Antworten

27
  

Wie würde sich :first von :first-child unterscheiden? Jedes HTML-Element ist ein Kind eines anderen Elements im DOM außer <html> , das das Stammelement ist. - BoltClock

     

Es wäre, weil Sie das Elternelement nicht kennen. - fomicz

Sie müssen nicht wissen, dass das Elternelement für :first-child oder :nth-child() funktioniert. Sie funktionieren einfach , auch wenn Sie das übergeordnete Element nicht angeben.

Der folgende Selektor stimmt garantiert mit jedem passenden .select-me -Element überein, unabhängig davon, was sein übergeordnetes Element ist:

%Vor%     
BoltClock 16.11.2010, 14:37
quelle
4
%Vor%

natürlich ist es besser, wenn Sie den Parent-Selektor (für eine Frage der Leistung) angeben können

    
fcalderan 16.11.2010 14:31
quelle

Tags und Links