2010-11-22 9 views
5

Sto usando rel per memorizzare alcune informazioni non html, quali altri attributi non sono comunemente usati che posso utilizzare per memorizzare le informazioni?Informazioni varie Attributi dell'elemento HTML

+1

Questa è roba pericolosa. L'attributo Rel è in realtà piuttosto widley utilizzato, ad esempio, Google bot, tra le altre cose, lo usa. Non è consigliabile utilizzare attributi HTML definiti per i propri scopi. –

+0

@Chris: tutta questa roba è generata da un blocco di JavaScript, nessuno dovrebbe leggerlo. –

+0

esattamente il punto! –

risposta

5

È possibile passare a HTML5 e utilizzare custom data attributes.

+0

Prima che HTML5 uscisse con questo, ho sempre usato _qualcosa come nomi di attributi per i dati personalizzati, nell'ipotesi che sia molto improbabile che un vero attributo inizi con un trattino basso. Si tratta di un'ipotesi "accettabile", o sarebbe meglio passare tutto a dati-qualcosa? –

+0

Si consiglia di utilizzare 'data- *', perché è quindi valido HTML nell'affare. –

+0

Lo userò, grazie. Sto usando la funzione 'attr' di jQuery quindi non è necessaria un'implementazione JS nativa. –

3

in HTML5 è possibile definire il proprio data- attributi per memorizzare tutto quello che vuoi.

3

Se lo desideri, puoi creare i tuoi attributi. Probabilmente non è una buona idea mettere i dati in un attributo se per specifica dovrebbe avere qualcosa di significativo lì dentro.

2

Nel HTML 5 spec, è possibile utilizzare gli attributi data-*; sono garantiti a non fare nulla con il browser e funzioneranno anche con i browser più vecchi.

In JavaScript, è possibile accedere con le normali proprietà dell'attributo:

var value = elem.getAttribute("data-foo") 
elem.setAttribute("data-foo", "value") 
elem.removeAttribute("data-foo") 

Con i nuovi browser che è possibile utilizzare elem.dataset, ma probabilmente non si vuole fare che, come i browser più vecchi non lo sosterrà .

var value = elem.dataset.foo; 
elem.dataset.foo = "value"; 
elem.dataset.foo = null; 
1

HTML5 ora supports la memorizzazione delle informazioni nel data-attributi * ma questo è HTML5 e tutti sono non c'è ancora. Quindi uno scenario reale ...

Se non si deve preoccupare di persistere su postback, è possibile mappare oggetti di dati semplici come una raccolta di JSON var ed estrarre un oggetto da esso in base a una particolare chiave. Ma questo è un approccio ampio: maggiori informazioni sull'obiettivo generale migliorerebbero il feedback.

1

Dipende dal tipo di informazioni che si desidera memorizzare e da come si prevede di accedervi. Ho utilizzato con successo sia gli attributi id sia gli attributi class per archiviare e accedere agli ID dei database, ad esempio, e persino riferimenti per alcune tabelle di database, che ho poi recuperato con jQuery per fare alcune richieste AJAX.

Se NON si utilizza HTML5, sconsiglio di utilizzare i propri attributi personalizzati. Altrimenti, come le persone già suggerite prima di me, dai uno sguardo agli attributi con prefisso data-.

0

data- * è la strada da percorrere se è possibile utilizzare HTML5. Puoi facilmente accedervi anche in javascript con elem.data. *

Altrimenti, gli attributi personalizzati sono probabilmente migliori di rovinare la semantica della pagina.

Problemi correlati