CSS Czy możliwa taka selekcja?

Odpowiedz Nowy wątek
2011-09-16 12:38
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.

Pozostało 580 znaków

2011-09-16 13:08
bs
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.

Pozostało 580 znaków

2011-09-16 13:27
0

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

Pozostało 580 znaków

2011-09-16 15:13
bs

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ę.

Pozostało 580 znaków

2011-09-16 15:52
pan kuba
0

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

Pozostało 580 znaków

2011-09-16 17:34
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.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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