Pytanie w sprawie css, regex – pozytywne spojrzenie w css

9

Wiem w Perlu regex pojęcie pozytywnego wyglądu, tjq(?=u) dopasowuje q, po którym następuje u, nie czyniąc części u meczu. Szukam czegoś podobnego w css: chcę dopasowaćdiv, a następnie rodzeństwodiv.specialClass.

<div>..</div>  <!-- div to match -->
<div class="specialClass">..</div>

Grałem z + ale to pasuje dodiv.specialClass, podczas gdy chcę poprzedniegodiv.

@dusnmoreb przepraszam, struktura powinna być:<div>..</div><div class="specialClass">..</div> zaktualizuje pytanie. dr jerry
Więc chcesz dopasować coś takiego:<div><div class="specialClass">? user672118

Twoja odpowiedź

1   odpowiedź
10

Nie można jeszcze zadeklarować, która część selektora jest tematem. Temat jest zawsze ostatnim elementem selektora w CSS, dopóki nie uzyskamy mocy, aby to przesunąć, prawdopodobnie używając$ lub! składnia.

// Always selects the .specialClass div which follows another div
div + div.specialClass {
    color: red;
}

W przyszłości będziesz mógł uczynić pierwszy obiekt div, prawdopodobnie z następującą składnią:

// Selects any `div` preceding any `div.specialClass`
$div + div.specialClass { // or maybe div! + div.specialClass
    color: red;
}

Tylko twójobejście w międzyczasie używa JavaScript. Narzędzie takie jak jQuery uczyniłoby to bardzo trywialnym:

$("div + div.specialClass").prev();

Który jest teraz odniesieniem do wszystkichdiv elementy bezpośrednio poprzedzające dowolnediv.specialClass.

Próbny:http://jsfiddle.net/jonathansampson/HLfCr/
Źródło:http://dev.w3.org/csswg/selectors4/#subject

@ Jonathan Sampson Dziękujemy za odpowiedź. Czy jest jeszcze szansa, aby zagłosować / zaproponować składnię regex: `div? = Div.specialClass? (Kocham regex) dr jerry
@ Jonathan Sampson Odpocznę moją skrzynkę. Nadanie mu drugiej myśli $ jako selektor ostrości / operator jest prawdopodobnie bardziej intuicyjny. dr jerry
@drjerry The$ jeszcze nie jest w kamieniu. Jest także!, który podążyłby za tym tematem. Nie jestem pewien, co będzie ostateczne. Sampson
@drjerry Możesz powiedzieć swój umysł do W3C Jestem pewien, jednak myślę, że bardziej prawdopodobne, że pójdą z nim$ ponieważ to właśnie wydaje się być standardem w aktualnych wersjach roboczych selektorów poziomu 4. Sampson
Fajnie, czy jest w tym RFC? Paulpro

Powiązane pytania