Pytanie Label vs span: html


Jestem nieco zdezorientowany tym, co używać do renderowania danych. Moje scenerio jest takie, że muszę renderować liczbę i nie jestem pewien co do używania span lub etykiety.

<span id="spnCount"></span>

lub

<label id="lblCount"></label>

27
2017-10-15 07:15


pochodzenie




Odpowiedzi:


ZA label jest używany, gdy masz formularz lub elementy wejściowe - label jest związany z input element. Span jest ogólnym kontenerem dla każdej zawartości wbudowanej. Myślę, że chcesz span w tym przypadku


30
2017-10-15 07:18





Przęsło

The <span> Tag służy do grupowania elementów inline w dokumencie.

The <span> Tag sam nie zapewnia żadnych zmian wizualnych.

The <span> tag umożliwia dodanie haka do części tekstu lub części dokumentu.

Etykieta

The <label> tag definiuje etykietę dla elementu.

The <label> element nie wyświetla się jako coś specjalnego dla użytkownika. Zapewnia jednak poprawę użyteczności dla użytkowników myszy, ponieważ jeśli użytkownik kliknie tekst w <label> element, przełącza sterowanie.

Atrybut atrybutu <label> tag powinien być równy atrybutowi id powiązanego elementu, aby powiązać je ze sobą.


27
2017-10-15 07:22





Każda osoba, która "odpowiedziała", po prostu kopiuje wklejaną dokumentację opisującą zamierzony przypadek użycia. Jednak nikt nie wyjaśnił różnic, lub CZEMU po co ty POWINIEN użyj jednego lub drugiego.

Rzeczywistość jest taka, że ​​jedna z nich będzie technicznie działać, więc szczerze mówiąc nie ma to znaczenia. Możesz użyć dowolnej liczby podobnych znaczników, w tym <i> tag (poprawnie napisany z klasą). Przypisać mu unikalny identyfikator, użyj document.getElementById()lub użyj węzłów itp., rób to, co chcesz. Jedynymi ludźmi, którym zależy, są semantyczni puryści.

Etykieta "może" i "powinna" być używana z elementem wejściowym formularza, prawda. Ale to jest NIE PRAWDA to NIE MOŻE lub NIE MOŻESZ być używane w jakikolwiek inny sposób. Co oznacza to MOGĄ i MÓGŁBY być używane w inny sposób.

Przede wszystkim zauważ, jak <label> jest po prostu używany jako etykieta "dla elementu". Nie mówi co RODZAJ elementu. Nie mówi, że musi to być element wejściowy lub element formularza. Rzeczywiście, elementy nieformalne mogą mieć kontrolki powiązane z nimi, aby zapewnić użytkownikowi doświadczenie, które może manipulować obiektami za pomocą CSS i tak dalej, a etykieta może po prostu połączyć tekst z dowolnymi takimi rzeczami. Formularz może istnieć niewidocznie na stronie. Kto wie.

Dlaczego używanie niewłaściwej etykiety może być złym pomysłem? Jeśli twój dokument może istnieć przez długi czas, poprzez kilka wersji przeglądarek i aktualizacji standardów HTML, definicja <label> może zmienić bardziej ścisłe wymuszanie asocjacji z elementami wejściowymi formularza, wtedy możesz mieć problem. Ale tak samo jest w przypadku każdego innego aspektu szeregu specyfikacji, których używamy do renderowania strony.

Prawdopodobnie jest to bardzo rzadki scenariusz, że taka zmiana miałaby miejsce, a ty prawdopodobnie nie pracowałbyś nawet w tej samej firmie lub w tym samym zespole projektowym, więc z całą szczerością, który naprawdę dba o innych niż purystów?

Cóż, może każdy, kto jest niedowidzący, jeśli polega na technologii, która leczy <label> Inne niż <span>, co może wprowadzić w błąd technologię lub użytkownika lub oba te elementy. Nie mam żadnego doświadczenia z takimi urządzeniami dostępowymi, ale to może być lepszy powód CZEMU.

Kolejny ważny powód to <span> jest krótszy niż typ <label>.

Innym powodem mogą być subtelne różnice w sposobie, w jaki wyszukiwarka plasuje twoją stronę lub zawiera odniesienia do treści, jeśli używasz <label> vs <span>. Jest to trochę problematyczne, ponieważ takie algorytmy nie są ogólnie dostępne, ale jest to możliwe. Jeden silnik może dawać lepsze wyniki w jeden sposób, inny silnik może preferować w inny sposób, a inny silnik może nie dbać w żaden sposób.

Wszystko to powiedziawszy, bez dalszej znajomości kontekstu, prawdopodobnie bym z nim poszedł <span> jak się wydaje najbardziej ogólny i najmniej kontrowersyjny sposób robienia rzeczy. Ale czułem, że pytanie nie było dokładne odpowiedź, ponieważ odpowiedzi zazwyczaj wymagają zrozumienia czemu.


12
2018-01-15 07:53



Doskonały punkt dla osób niedowidzących. Bardzo łatwo jest zapomnieć o współczynniku dostępności! - Simon Forsberg
Proszę zauważyć, że komentarz był czysto hipotetycznym przypuszczeniem, ponieważ nie mam żadnego doświadczenia z takim oprogramowaniem dostępowym. Jeśli w rzeczywistości było prawdą, że to coś zmieniło, może to zmienić ostateczny wniosek <span> do <label> dla ułatwienia dostępu. W tym momencie po prostu nie wiem tak i nie mam możliwości dalszego badania. Dalsze badania tutaj byłyby wspaniałe, aby uzyskać ostateczne odpowiedzi. - user314159


Jeśli twoje dane są wynikiem obliczeń, to output Element HTML5 prawdopodobnie pasuje najlepiej do Twojego celu.


1
2017-10-15 07:32





Tag definiuje etykietę dla elementu. Jeśli nie używasz elementu wejściowego, można użyć zakresu.


0
2017-10-15 07:18





Etykieta jest używana w połączeniu z elementem wprowadzania formularza. W niektórych przeglądarkach można kliknąć etykietę, aby aktywować element wejściowy.


0
2017-10-15 07:18





label służy do oznaczania formantów formularzy w html. To także ma for atrybut, w którym można ustawić identyfikator kontrolki, do której odnosi się ta etykieta. span stosowane w przypadku, gdy musisz wyświetlić jakieś dane literalne.


0
2017-10-15 07:18





"The <label> tag definiuje etykietę dla <input> element." http://www.w3schools.com/tags/tag_label.asp


-2
2017-10-15 07:18



Jeśli spędzasz więcej czasu w StackOverflow, przekonasz się, że odwoływanie się do W3Schools nie jest dobrym pomysłem, ponieważ jest pełen błędów. Konkretna strona, do której prowadzi link, zawiera kilka błędów i niedokładności. - Alohci
Zauważyłem, że W3Schools jest nieocenionym źródłem informacji, aby ustalić podstawowe początkowe zrozumienie i znaleźć popularną składnię w podręcznikach referencyjnych. W przypadku niektórych BARDZO RZADKICH ezoterycznych i zaawansowanych przypadków użycia zauważyłem błędy (niedokładne lub po prostu niekompletne informacje), zgłosiły problemy z nimi i widziałem, że te problemy są ignorowane przez LATA. MDN jest specyficzne dla Mozilli i często zawiera błędy (ale jest to Wiki, więc próbuję je teraz naprawić). W3C tworzy HORRIFIC dokumenty z perspektywy uczenia się, pełne niejasności, bez praktycznego kontekstu lub przykładów. Są najlepiej wykorzystywane przez inżynierów tworzących silniki renderujące. - user314159