CSS Czy możliwa taka selekcja?

0

Witam. Czy jest możliwe zbudowania takiego selektora w css:
Wskaż dziecko elementu, którego sąsiąda dziecko posiada tekst: TEKST. Hehe:)
Chodzi o coś takiego:

<label>TEKST</label> <input></input>

Potrzebuję "wyłapać" inputa na podstawie tekstu TEKST.

0

Nie, obecnie CSS nie umożliwia wyboru elementu po tekście jaki ten element ma zawierać. Przez pewien czas, specyfikacja CSS3 zawierała pseuudoklasę :contains("tekst"), która umożliwiała taki wybór, ale pseudoklasa ta została usunięta i nie jest powszechnie wspierana przez przeglądarki.

0

Ale tym :contains('tekst') mogę uzyskać dostęp do labela. A jak na tej podstawie dobrać się do inputa?

0

Przecież napisałem, że się nie da, bo nawet :contains nie możesz użyć. Nie ma tego nawet w szkicu specyfikacji CSS3, a przeglądarki tego nie wspierają.

Nie jestem pewny jak działałby :contains (bo nie ma jego opisu w specyfikacji!), ale jeśli szukałby tekstu również w elementach podrzędnych, to mógłbyś użyć czegoś w stylu td:contains("tekst") + td input.

Tylko proszę, nie pisz, że "nie działa", bo już ja to piszę -- po raz któryś z rzędu -- to nie działa, bo :contains w CSS nie istnieje. Więc tak, jak napisałem w pierwszym poście: nie da się.

0

Nie da się, ze względów projektowych. CSS oznacza oddzielenie wyglądu od zawartości. Użyj JavaScript i jQuery :)

0

Contains mogę użyć bo używam Selenium, w którym ta pseudoklasa jest dostępna :) Nie mam póki co jak tego sprawdzić ale chyba to: td:contains("tekst") + td input
jest tym czego mi potrzeba. Dzięki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0