Quali sono / alcuni modi consigliati per scrivere JavaScript per controllare il comportamento di mostrare HTML sullo schermo, mantenendo un codice ben gestibile? Fondamentalmente, ho iniziato a cercare modi per mantenere HTML / CSS fuori da JS (presumendo che fosse la pratica consigliata), ma potrei anche verificare gli ultimi modi di scrivere bene JavaScript. Vedi sotto per maggiori dettagli.
Il mio problema specifico
Ho file JS che assomigliano a questo:
var selection = eval("(" + document.getElementById("result").innerHTML + ")");
if (selection[index].selected) {
result += '<TABLE class="list_grey" style="float: left; margin-left: 20px;">';
result += '<TR>';
result += '<TH colspan="2">Data</TH>';
result += '</TR>';
var flag = "All";
if (selection[index].flag == 'P')
flag = "Premium";
result += '<TR>';
result += '<TD>Flag</TD>';
result += '<TD>' + flag + '</TD>';
result += '</TR>';
result += '</TABLE>';
}
document.getElementById('final').innerHTML = result;
In effetti, l'intera base di codice JS con cui lavoro è afflitta da questo. Puoi vedere qui HTML, CSS JS e JSON ( selection
var ottiene il suo contenuto da JSON preparato da PHP in precedenza). Voglio renderlo migliore.
Il mio livello di esperienza
Sono nuovo nello scrivere JS buono o nell'esperienza con schemi, strumenti, suggerimenti, tecniche JS e così via. Sto cercando aiuto con quelli.
Il mio problema specifico:
Ho una serie di tabelle e dati da mostrare all'utente. È una "serie", quindi l'utente può selezionare quale "elemento" della serie è attualmente attivo sullo schermo. Un "elemento" è essenzialmente un partial HTML (con JS e CSS e HTML) ed è descritto di seguito:
"elemento": un blocco di HTML che funge da dati statici (tabelle, titoli e div) e una lunga stringa JSON che codifica alcuni dati precedentemente preparati. La stringa JSON è assegnata a una variabile JS e quella variabile JSON data / JS memorizza i record numerati da 1
a n
, dove ogni i
contiene vari dati da iniettare nel blocco di HTML, formando "HTML partial".
Ho pulsanti di navigazione sullo schermo, che consentono all'utente di scorrere la "serie", dove l'HTML è lo stesso, ma i dati al suo interno cambiano.
Sto cercando un buon modo per scrivere questa funzionalità di "passaggio attraverso blocchi HTML" usando quello che è considerato un buon codice JS mantenibile. Vale a dire, sto cercando le seguenti caratteristiche:
- separazione delle preoccupazioni
- codice più pulito - Ho bisogno di strumenti o tecniche che mi permettano di evitare di mescolare HTML con JS con CSS (come nel mio esempio), a meno che non sia necessario o conveniente. (quello che ho ora non è conveniente)
- Preferisco le tecniche piuttosto che gli strumenti, ma aperto a considerare / valutare strumenti consolidati. Con "tecniche" intendo puro approccio a JS, HTML, CSS, PHP. Con "strumenti", al momento conosco e mi fido di jQuery, e per altri strumenti preferisco avere un track record per loro.
Nota sulla visibilità / occultamento dell'HTML
Forse dovrei anche notare che nel mio caso l'HTML è statico, ovvero non cambia strutturalmente, mentre passo attraverso gli elementi. Tuttavia, in base alla variabile JSON / selection, alcuni blocchi di HTML sono mostrati / nascosti (come mostrato nel mio esempio). Una volta mostrati / nascosti al momento del rendering della pagina, rimangono visualizzati / nascosti durante la selezione.