Je suis en train de construire une table très dynamique pour une application de liste, qui effectuera essentiellement des fonctions de base de CRUD via AJAX. Ce que je voudrais faire est de séparer la conception visuelle et javascript au point où je peux changer le côté de la conception sans toucher le côté JS. Cela ne fonctionnerait que si la conception reste à peu près la même (je voudrais l'utiliser pour un prototypage rapide)Séparer Javascript et Html, lors de l'ajout dynamique de html via javascript
Voici un exemple.
<table>
<tr><td>record-123</td><td>I am line 123</td><td>delete row</td></tr>
<tr><td>record-124</td><td>I am line 124</td><td>delete row</td></tr>
<tr><td>record-125</td><td>I am line 125</td><td>delete row</td></tr>
<tr><td>add new record</td></tr>
</table>
Maintenant, quand j'ajouter un nouvel enregistrement, je voudrais insérer une nouvelle ligne de html, mais je préfère ne pas mettre ce code HTML dans le fichier javascript.
Ce que je considère est de créer une ligne comme celle-ci sur la page, près de la table.
<tr style='visble:none;' id='template-row'><td>record-id</td><td>content-area</td><td>delete row</td></tr>
Et quand je viens d'ajouter la nouvelle ligne, je recherche la page pour les balises à l'aide id = modèle-ligne, puis l'attraper, faire une chaîne remplacer dessus, puis le mettre dans la bon endroit dans la page.
Tant que le design ne change pas radicalement, et que je garde les chaînes de caractères génériques identiques, cela signifie que les dessins peuvent être rapidement modifiés sans toucher les js.
Peut-on donner des conseils sur une méthodologie comme celle-ci?
Allez définitivement voir un système de gabarit comme John Resig. Ceux-ci ont généralement résolu un tas de problèmes dont vous ne devriez pas avoir à vous préoccuper. – Pointy
Pourquoi ne faites-vous pas ce que vous avez mentionné et avez un fragment HTML à proximité pour cloner?Quelle que soit la façon dont votre page change, vous devrez changer quelque chose de toute façon :-) –