Je veux ajouter quelques données simples dans une div comme:
$('#msg').append('Some text');
Dans le corps, je pense que je devrai placer le HTML comme.
<div id="test">
<div id="msg"></div> //show text inside it.
</div>
Cependant, je souhaite ajouter des CSS au #msg
. Par exemple, couleur de fond. Maintenant, le problème est que, puisque le #msg
div est présent tout le temps, je vois la couleur d’arrière-plan même si le texte n’y est pas ajouté. J'ai essayé d'ajouter des css comme "display: none, mais dans ce cas, je ne vois pas le texte qui y est ajouté . Puis-je le faire pour que le #msg
div apparaisse dans le #test
uniquement lorsque le texte lui est ajouté ? Merci.
La bonne façon d’ajouter text (par opposition à l’ajout de HTML) serait la suivante:
var someText = "Hello, World!";
$('#msg').append(document.createTextNode(someText));
Si someText
provient d'une entrée utilisateur ou de quoi que ce soit d'autre, elle sera correctement échappée au format HTML. Ce qui devrait empêcher l’injection de JavaScript, 3ème vulnérabilité de sécurité Web la plus répandue dans le monde .
Pourquoi ne pas utiliser
$('#msg').html('A styled <span style="background: yellow">paragraph</span>');
$('#msg').show();
Évadez-vous en cas de besoin.