Mam kilka rekordów bazy danych (bez identyfikatorów auto_increment lub cokolwiek innego w tym stylu) renderowanych jako lista, i doszło do tego, że muszę rozróżnić każdą z nich za pomocą unikalnego id
.Upewnij się, że ciąg jest poprawną nazwą CSS o nazwie
Mogę po prostu dodać licznik bieżący do pętli i zrobić to, ale niestety ten identyfikator musi być powiązany w całej witrynie, jednak lista jest sortowana lub filtrowana.
W związku z tym wpadłem na pomysł, aby tytuł rekordu dołączyć do części id
(z prefiksem, aby nie kolidował z elementami układu).
Jak mogę przekształcić ciąg znaków w nazwę id
w niezawodny sposób, tak aby nigdy nie zawierał znaków, które złamałyby kod HTML lub nie działałyby jako prawidłowe selektory CSS?
Na przykład;
Title ==> prefix_title
TPS Report 2010 ==> prefix_tps_report_2010
Mike's "Proposal" ==> prefix_mikes_proposal
#53: Míguèl ==> prefix_53_miguel
Tytuły są zawsze wystarczająco różnorodne, aby uniknąć konfliktów i nigdy nie będą zawierały żadnych nie-zachodnich postaci.
Dzięki!
Jeśli dostanę swój punkt: masz jakiś wiersz w tabeli , dla każdego wiersza, który chcesz wygenerować element listy HTML, a każdy element powinien mieć unikalny identyfikator (atrybut HTML "id"?), ten identyfikator nie powinien łamać HTML i być prawidłowym selektorem CSS. Dlaczego potrzebujesz czegoś takiego i dlaczego mówisz o poprawnym selektorze CSS? Nie można pisać * statycznego * selektora CSS na podstawie * dynamicznych * identyfikatorów. – pomeh
Dlaczego nie używać MD5? –
pomeh: Muszę odwoływać się do poszczególnych elementów listy za pomocą jQuery, a to o wiele łatwiej, jeśli podczas drukowania listy mam zestaw id dla każdego elementu. || Rick: To ... zawstydzająco proste, ale niesamowite rozwiązanie. –