Cerco di generare il minor numero possibile di HTML da JavaScript. Invece, preferisco manipolare il markup esistente ogni volta che posso e generare HTML solo quando ho bisogno di inserire dinamicamente un elemento che non è un buon candidato per l'utilizzo di Ajax. Questo, credo, rende molto più semplice mantenere il codice e apportare rapidamente modifiche perché il markup è più facile da leggere e tracciare. La mia regola generale è: HTML è per la struttura del documento, CSS è per la presentazione, JavaScript è per il comportamento.
Tuttavia, ho visto molti codici JS che generano cumuli di HTML, tra cui intere forme e finestre di dialogo modali pesanti per il contenuto. In generale, quale metodo è considerato la migliore pratica? In quali circostanze deve essere usato JavaScript per generare HTML e quando non dovrebbe?