Czy istnieje sposób wykluczenia lub wyboru etykiety według typów danych wejściowych, podobnie jak w polu wprowadzania?Wybierz etykietę według typu wejściowego
label:not([type=checkbox])
label[type=checkbox]
Czy istnieje sposób wykluczenia lub wyboru etykiety według typów danych wejściowych, podobnie jak w polu wprowadzania?Wybierz etykietę według typu wejściowego
label:not([type=checkbox])
label[type=checkbox]
Jeśli dajesz wyboru określonego identyfikatora, że wszyscy zaczynają z tego samego, można wykonać następujące czynności:
HTML
<input type="checkbox" id="chkTerms" />
<label for="chkTerms">Read terms & conditions</label>
CSS
label[for*="chk"], label[htmlfor*="chk"]
{
css here
}
Tylko prawdopodobnie nowoczesne przeglądarki. EDYCJA: Właśnie próbowałem skrzypce: link i działa w chrome i IE 8 & 9, ale nie 7. Nie próbowałem go w FF.
EDIT2: Aby wyjaśnić, co się tu dzieje, nawiasy kwadratowe szukają wymaganego atrybutu. Gwiazdka zmienia zachowanie równości z zwykłego równika, na znacznik zawiera - wszędzie tam, gdzie atrybut for zawiera "chk", zastosuje ten styl. Możesz zastąpić * znakiem ^, a zmieni to na początek z zamiast zawiera.
EDIT3: BoltClock dostarczył poprawkę do IE7 w komentarzu, zaktualizowałem odpowiedź, aby ją uwzględnić.
to jest dokładnie to, czego szukałem – InTry
Y Tak, IE7 ma problem z selektorami atrybutu, a 'for' jest znanym przykładem, gdzie zamiast tego musisz użyć' htmlFor'. – BoltClock
@BoltClock Nie wiedziałem o html dla selektora. Dzięki :-) Zaktualizuję mój post, aby uwzględnić to, aby naprawić IE7. – Andrew
Co powiecie na ? Może działać, jeśli tekst znajduje się tuż za elementem wejściowym. Nie testowałem tego.
Rzeczywiście, działa tylko wtedy, gdy etykieta jest po elemencie wejściowym :( – InTry
Czy można zmodyfikować html? Można na przykład dodać klasy dla tych etykiet.Albo użyj jQuery, aby przejść przez wszystkie etykiety i sprawdź, jakiego rodzaju dane wejściowe mają. – Antti
To jest świetny pomysł, pomimo jego ograniczeń –
można korzystać z wyboru podstawowego odniesienia danych atrybutu ..
<input type="checkbox" name="checkbox-1" id="checkbox-0" class="custom" />
<label for="checkbox-0">Whatever</label>
Jeśli nie można oczekiwać tego ... daj nam znać ...
Wiem, że mogę użyć id lub klasy, zapytałem, czy byłoby to możliwe w inny sposób, bez za pomocą 'label {style}' następnie zastąp go '# checkbox-0 {style}' – InTry
Co właściwie jest twoim pytaniem? czy chcesz wiedzieć, jakie są inne typy danych wejściowych ... nie mogłem jasno zrozumieć ... powtórzyć ... – Vinay
Drugi zdecydowanie działa. Selektor css "[atrybut = wartość]" działa na cokolwiek, a nie tylko na wejście. (można uzyskać nazwy klas, jeśli jest wyłączona itp.) Może to nie działać w niektórych starszych wersjach IE. Nie widziałem wcześniej: nie selektora, więc nie mogę tego komentować. – Andrew
@Jeśli pytanie brzmi: jak wybrać lub wykluczyć etykietę dla pola wejściowego typ pola = pole wyboru, w CSS? – InTry