Ho un gruppo di record di database (senza ID autoincrement o qualsiasi altra cosa del genere) visualizzato come un elenco, e mi è capitato che dovessi differenziare ognuno di essi con un unico id
.Assicurati che la stringa sia un nome ID CSS valido
Potrei semplicemente aggiungere un contatore in esecuzione nel ciclo e farlo con esso, ma sfortunatamente questo ID deve essere cross-referenceable in tutto il sito, tuttavia l'elenco è ordinato o filtrato.
Pertanto ho avuto l'idea di includere il titolo del record come parte dello id
(con un prefisso in modo che non si scontri con gli elementi del layout).
Come è possibile trasformare una stringa in un nome id
in modo infallibile in modo che non contenga mai caratteri che possano violare l'HTML o non funzionare come selettori CSS validi?
Ad esempio;
Title ==> prefix_title
TPS Report 2010 ==> prefix_tps_report_2010
Mike's "Proposal" ==> prefix_mikes_proposal
#53: Míguèl ==> prefix_53_miguel
I titoli sono sempre abbastanza diversi da evitare conflitti e non conterranno mai caratteri non occidentali.
Grazie!
Se io ottenere il vostro punto: hai qualche riga in una tabella , per ogni riga che si desidera generare un elemento di elenco HTML e ogni elemento deve avere un ID univoco (id 'attributo HTML'?), questo id non dovrebbe rompere il codice HTML ed essere un selettore CSS valido. Perché hai bisogno di una cosa del genere, e perché parli del selettore CSS valido? Non puoi scrivere * static * selettore CSS basato su * dynamic * id. – pomeh
Perché non utilizzare MD5? –
pomeh: Ho bisogno di fare riferimento a singole voci di elenco con jQuery, ed è molto più semplice se stampando la lista, ho impostato l'id per ogni elemento. || Rick: Questa è ... una soluzione imbarazzante, semplice ma impressionante. –