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:
Potrzebuję "wyłapać" inputa na podstawie tekstu TEKST.
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:
Potrzebuję "wyłapać" inputa na podstawie tekstu TEKST.
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.
Ale tym :contains('tekst') mogę uzyskać dostęp do labela. A jak na tej podstawie dobrać się do inputa?
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ę.
Nie da się, ze względów projektowych. CSS oznacza oddzielenie wyglądu od zawartości. Użyj JavaScript i jQuery :)
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.