Cerco di generare il meno HTML possibile da JavaScript. Preferisco invece manipolare il markup esistente ogni volta che posso e generare HTML solo quando devo inserire dinamicamente un elemento che non è un buon candidato per usare Ajax. Questo, credo, rende molto più semplice la manutenzione del codice e la modifica rapida perché il markup è più facile da leggere e tracciare. La mia regola empirica è: HTML è per la struttura del documento, CSS è per la presentazione, JavaScript è per il comportamento.
Tuttavia, ho visto molto codice JS che genera cumuli di HTML, inclusi moduli interi e dialoghi modali ricchi di contenuti. In generale, quale metodo è considerato la migliore pratica? In quali circostanze dovrebbe essere usato JavaScript per generare HTML e quando no?