2017-05-27 3 views
0

J'ai un document qui contient des questions et la réponse à chaque question. J'utilise ceci pour générer une 'version étudiante' qui a la question mais pas de réponse. La page d'origine (question + réponse) est fournie à l'enseignant pour aider à marquer les réponses de l'élève.Génération d'un nouveau document avec les attributs de classe supprimés

J'ai créé manuellement deux pages ... une pour l'enseignant, une pour l'étudiant, mais je me demande si les réponses sont données en classe (egpanswer) pourrait-il y avoir un moyen de générer la version étudiante? automatiquement, sans avoir à trouver et supprimer chaque réponse? J'ai essayé d'utiliser cet appel jquery: $ ('p.answers'). Remove(); Et le résultat semble correct lorsque vous chargez la page. Si je sauvegarde cette page, la réponse réapparaît car le code source contient le texte de la réponse. Je dois également m'assurer que les réponses ne sont pas cachées, car le risque serait trop grand si l'étudiant pouvait découvrir la réponse en utilisant html (la version de l'étudiant doit être propre de toutes les réponses pour éviter de tricher). Notez que ces questions et réponses sont des réponses courtes, pas multi-choix, un exemple est ci-dessous.

Des suggestions sur la meilleure façon d'y parvenir? Peut-il être automatisé en créant un bouton/déclencheur? Voici ce que j'ai essayé.

<p class=MsoNormal>What is the secret to happiness?</p> 
    <p class=answer><span style='background:lime;mso-highlight:lime'>Finding inner peace with your past, your choices and your future.</span></p> 
    <script type="text/javascript">$('p.answer').remove();</script> 

j'utiliser du texte sublime 2 ... J'accepterais une façon de mettre en évidence même tout le contenu de toutes les classes .answer afin qu'ils puissent ensuite être supprimés.

+0

Si vous ne souhaitez pas que la réponse soit envoyée à la page de l'étudiant, vous devez la supprimer au niveau du serveur ou de la source de données dans le cloud. Sans savoir comment vous stockez ces données, votre question est beaucoup trop large. – charlietfl

+0

@charlietfl Bon point. En ce moment, je crée les deux pages en HTML, puis je télécharge. – Matt

Répondre

-1

Avez-vous essayez d'utiliser:

$('p.answer').hide(); 

Au lieu de:

$('p.answer').remove(); 
0

Ceci est mon opinion, mais vous devriez être filtrer les réponses au niveau du serveur, plutôt que d'essayer de dissimuler eux sur la page. De toute évidence, cela peut être fait de quelque manière que ce soit, à condition que vous ayez un serveur pour servir les documents, mais si vous recherchez la flexibilité, vous pouvez lire les questions/réponses d'un fichier YAML et les cracher avec un bibliothèque comme Sinatra de Ruby.

+0

Merci pour la suggestion. Je ne suis pas familier avec Ruby, donc j'espérais garder la réponse dans les limites de html, javascript/jquery, éditer des astuces sur du texte sublime. S'il n'y a pas d'autre moyen que d'utiliser php ou ruby ​​alors je vais continuer à obtenir de l'aide. J'imagine que j'espérais qu'il y avait une option que j'avais oubliée ... Aussi, je n'essaie pas de les déguiser sur la page, j'essaye de créer une nouvelle page avec les classes p.answer enlevées sans moi devoir trouver et supprimer chacun d'eux. Chaque page est massive (30 questions en moyenne) et prend des âges pour trouver et supprimer manuellement chaque classe de réponses. – Matt

+0

Vous pouvez les stocker en tant que documents json et les charger de manière asynchrone à partir de la page. Je ferais encore différents fichiers html pour les enseignants et les étudiants, avec le nom des fichiers avec les réponses non accessibles aux étudiants. –