J'ai le code javascript suivant:
var html = '<div class="col-lg-4 col-references" idreference="'+response+'"><span class="optionsRefer"><i class="glyphicon glyphicon-remove delRefer" style="color:red; cursor:pointer;" data-toggle="modal" data-target="#modalDel"></i><i class="glyphicon glyphicon-pencil editRefer" data-toggle="modal" data-target="#modalRefer" style="cursor:pointer;"></i></span><div id="contentRefer'+response+'">'+refer_summary+'</div><span id="nameRefer'+response+'">'+refer_name+'</span></div>';
$("#references").append(html);
Lorsque ce code est exécuté, la variable refer_summary
contient en fait une chaîne pouvant contenir des balises HTML telles que <b>
, <i>
, etc. Cependant, ces balises sont affichées sur la page au lieu de rendre leur comportement.
Par exemple, sur la page, <b>
apparaîtrait plutôt en gras.
Comment puis-je rendre le rendu des balises HTML lorsque la valeur est ajoutée?
Dans mon modèle Django, j’utilise {% autoescape off %}{{content}}{% endautoescape %}
. Ainsi, lors du premier chargement de la page, le contenu est correctement rendu en gras, etc.
Merci pour l'aide!
Vous pouvez rendre HTML en utilisant document.write ()
document.write('<html><body><h2>HTML</h2></body></html>');
Mais pour ajouter une chaîne HTML existante, vous devez obtenir l'ID du nœud/balise sous lequel vous souhaitez insérer votre chaîne HTML.
Vous pouvez éventuellement y parvenir de deux manières:
Utilisation de DOM -
var tag_id = document.getElementById ('tagid'); var newNode = document.createElement ('p'); newNode.appendChild (document.createTextNode ('chaîne html')); node.appendChild (newNode);
Utilisation de innerHTML -
var tag_id = document.getElementById ('tagid'); tag_id.innerHTML ('Chaîne HTML');
J'espère que cela vous aiderait. Merci
Utilisez $ .parseHTML avant l’ajout de HTML comme
var html = '<div class="col-lg-4 col-references" idreference="'+response+'"><span class="optionsRefer"><i class="glyphicon glyphicon-remove delRefer" style="color:red; cursor:pointer;" data-toggle="modal" data-target="#modalDel"></i><i class="glyphicon glyphicon-pencil editRefer" data-toggle="modal" data-target="#modalRefer" style="cursor:pointer;"></i></span><div id="contentRefer'+response+'">'+refer_summary+'</div><span id="nameRefer'+response+'">'+refer_name+'</span></div>';
html = $.parseHTML( html);
$("#references").append(html);
Vous devez attribuer un identifiant à une div particulière, puis traiter/modifier l’interface utilisateur dans la div spécifique en conséquence.
Étant donné ici est une excellente explication.
Vous pouvez utiliser la fonction document.createRange().createContextualFragment
de Javascript:
const frag = document.createRange().createContextualFragment('<div>One</div><div>Two</div>');
console.log(frag);
/*
#document-fragment
<div>One</div>
<div>Two</div>
*/