Valori non registrati di attributo rel in tag di ancoraggio
Domanda
Ho usato i valori Rel in jQuery per le chiamate Ajax parametrizzate (#! Hashbang).
<a id='_qualifier' rel='telephony' href='contact.php'>contact</a>
E con jQuery:
var hashbang = "#!"+$("#_qualifier").attr('rel'); //gives desired result=>"#!telephony"
Ma, quando ho convalidato la pagina su validatore.w3.org, mi ha dato un errore:
Bad Value #Telephony per attributo rel sull'elemento A: parola chiave #telephony non è registrata.
Ho cercato e secondo le specifiche HTML5 qui e qui, l'attributo Rel dovrebbe avere i valori registrati/predefiniti.
- Esiste un lavoro per utilizzare i valori personalizzati per Rel in HTML5, senza mancare la convalida?
- È anche non valido per i doctipes HTML4?
Soluzione
Puoi utilizzare gli attributi personalizzati:
<a href="#" data-something="telephony">...</a>
È conforme HTML5, ma non HTML4 o XHTML. Accederai all'attributo proprio come hai fatto con JQuery.
Puoi trovare altre informazioni su Il riferimento HTML5.
Altri suggerimenti
Esiste un lavoro per utilizzare i valori personalizzati per Rel in HTML5, senza mancare la convalida?
La pagina dei microformi è un wiki. Se sei soddisfatto di usare rel
correttamente e che non esiste un altro valore rel appropriato già registrato, puoi aggiungere il tuo valore come a Proposto valore. Le istruzioni per farlo possono essere trovate qui: http://dev.w3.org/html5/spec/links.html#other-link-types
Secondo le specifiche HTML5, ciò renderà valido il tuo valore Rel. Naturalmente, potrebbe essere necessario un po 'di tempo prima che i validatori automatizzati raggiungano questo, ma questa è solo una questione tecnica.
È anche non valido per i doctipes HTML4?
No, non lo è.
È possibile utilizzare qualsiasi altro attributo di un tag 'a' per ad es. 'titolo'