2012-10-15 13 views
26

Sono un po 'confuso su cosa utilizzare per il rendering dei dati. Il mio scenerio è che devo rendere conto e non sono sicuro di usare lo span o l'etichetta.Etichetta vs span: html

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

o

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

risposta

27

A label è associato a un elemento input viene utilizzato quando si dispone di un modulo o di elementi di input. Span è un contenitore generale per qualsiasi contenuto in linea. Penso che tu voglia un span in questo caso

0

Il tag definisce un'etichetta per un elemento. Se non si utilizza per l'elemento di input, è possibile utilizzare lo span.

-2

"Il tag <label> definisce un'etichetta per un elemento <input>." http://www.w3schools.com/tags/tag_label.asp

+8

Se trascorri più tempo su StackOverflow, scoprirai che fare riferimento a W3Schools non è una buona idea, perché è [pieno di errori] (http://w3fools.com). La pagina specifica a cui ci si collega ha diversi errori e imprecisioni. – Alohci

+2

Ho trovato W3Schools una risorsa inestimabile, per stabilire una comprensione iniziale di base e cercare sintassi comune nei manuali di riferimento. Per alcuni casi di utilizzo esoterico e avanzato MOLTO RARO, ho notato errori (informazioni inaccurate o semplicemente incomplete), ho archiviato dei problemi con loro e ho visto quei problemi ignorati per ANNI. MDN è specifico di Mozilla e spesso ha errori (ma è un Wiki, quindi provo a risolverli ora).W3C crea documenti ORRIFICI da una prospettiva di apprendimento, piena di vaghezza, priva di ogni contesto o esempi di uso pratico. Quelli sono i migliori usati dagli ingegneri che creano motori di rendering. – user314159

0

Un'etichetta viene utilizzata in combinazione con un elemento di input modulo. In alcuni browser è possibile fare clic sull'etichetta per attivare l'elemento di input.

0

label è usato per etichettare i controlli del modulo in html. Ha anche l'attributo for in cui è possibile impostare l'id del controllo a cui è correlata questa etichetta. span utilizzato nel caso in cui sia necessario visualizzare alcuni dati letterali.

27

Span

Il tag <span> viene utilizzato per raggruppare in linea elementi di un documento.

Il tag <span> non fornisce alcun cambiamento visivo di per sé.

Il tag <span> fornisce un modo per aggiungere un gancio a una parte di un testo o una parte di un documento.

Label

Il <label> tag definisce un'etichetta per un elemento.

L'elemento <label> non viene visualizzato come qualcosa di speciale per l'utente. Tuttavia, fornisce un miglioramento dell'usabilità per gli utenti del mouse, perché se l'utente fa clic sul testo all'interno dell'elemento <label>, attiva il controllo.

L'attributo for del tag <label> deve essere uguale all'attributo id dell'elemento correlato per unirli tra loro.

1

Se i dati sono il risultato di un calcolo, l'elemento HTML5 output probabilmente si adatta meglio ai propri scopi.

9

Ogni singola persona che ha "risposto", semplicemente una documentazione copiata che descrive il caso d'uso previsto. Tuttavia, nessuno ha spiegato le differenze o il PERCHÉ PERCHÉ il motivo per cui si usa DUE l'uno o l'altro.

La realtà è che uno funzionerà tecnicamente, quindi onestamente non ha importanza. È possibile utilizzare qualsiasi numero di altri tag simili, tra cui il tag <i> (correttamente in stile con una classe). Assegnare un ID univoco, utilizzare document.getElementById() o utilizzare i nodi, ecc., Fare ciò che si desidera.Le uniche persone a cui importa sono i puristi semantici.

L'etichetta "può" e "dovrebbe" essere utilizzata con un elemento di input del modulo, true. Ma è NON TRUE che esso NON PUO o NON DEVE essere utilizzato in qualsiasi altro modo. Il che significa che CAN e COOLD possono essere utilizzati in altri modi.

Prima di tutto, notare come <label> viene semplicemente utilizzato come etichetta "per un elemento". Non dice cosa TYPE di elemento. Non dice che deve essere un elemento di input o un elemento di forma. Infatti, gli elementi non formali possono avere controlli associati a loro per fornire un'esperienza utente, che forse manipola oggetti con CSS e così via, e un'etichetta può semplicemente collegare il testo a qualsiasi cosa del genere. Il modulo potrebbe esistere in modo invisibile a pagina. Chissà.

Perché potrebbe essere una cattiva idea utilizzare un'etichetta autonoma? Se il tuo documento potrebbe esistere per un lungo periodo di tempo, attraverso diverse versioni del browser e gli aggiornamenti degli standard HTML, la definizione di <label> potrebbe cambiare in modo da rafforzare l'associazione con gli elementi di input del modulo, quindi potresti avere un problema. Ma lo stesso vale per qualsiasi altro aspetto di una qualsiasi delle specifiche su cui ci basiamo solo per il rendering di una pagina.

Probabilmente è uno scenario molto raro che si verifichi un simile cambiamento, e probabilmente non lavoreresti nemmeno nella stessa azienda o nello stesso team di progetto, quindi in tutta onestà, chi se ne frega davvero tranne i puristi?

Beh, forse chiunque sia ipovedente se si basa su una tecnologia che tratta uno <label> diverso da <span>, che potrebbe confondere la tecnologia o l'utente o entrambi. Non ho alcuna esperienza con tali dispositivi di accessibilità, ma potrebbe essere una ragione migliore PERCHÉ.

Un altro motivo valido è <span> è più breve da digitare di <label>.

E un altro motivo potrebbe essere sottile differenze nel modo in cui un motore di ricerca classifica la tua pagina o referenza contenuto se si utilizza <label> vs <span>. Questo è un po 'difficile, perché tali algoritmi non sono generalmente disponibili al pubblico, ma è possibile. Un motore potrebbe produrre risultati migliori in un modo, un altro motore potrebbe preferire il contrario, e un altro motore potrebbe non interessare in alcun modo.

Tutto ciò che ha detto, senza alcuna ulteriore conoscenza del contesto, probabilmente sarei andare con <span> come sembra il più generica e almeno contenzioso modo di fare le cose. Ma sentivo che la domanda mancava di un'accurata risposta , in quanto le risposte solitamente implicano una comprensione di perché.

+0

Eccellente punto su ipovedenti. È molto facile dimenticare il fattore di accessibilità! –

+1

Si prega di notare che il commento era pura congettura ipotetica, in quanto non ho esperienza con tale software di accessibilità. Se in effetti è stato vero che ha fatto la differenza, potrebbe cambiare la mia conclusione finale di andare con "" a "