2017-07-20 1 views
-2

J'ai un objet qui possède une propriété avec une valeur de chaîne.Convertir une chaîne en objet lien javascript utilisé pour le modèle moustache

var notificationDetails = { 
 
    dangerMessage: "I love basketball and love to watch it in. <a href='www.nba.com'>Link</a>;", 
 
    seats: "1 seatRemaining", 
 
    pName: "Item 1", 
 
    class: "" 
 
}; 
 

 
document.write(notificationDetails.dangerMessage);

Comment puis-je convertir un élément à un lien dans la propriété dangerMessage, il se lit comme chaîne pas le lien réel. Merci d'avance.

J'oubliais de dire que j'utilise mustache.js pour rendre cette propriété dans l'objet qu'il ressemble à ce

<script type="text/x-mustache-tmpl" id="order-template"> 
    <div>{{dangerMessage}} </div> 
</script> 
+0

Ressemble à un lien vers moi. – Quentin

+0

Cela fonctionne, [link] (https://jsfiddle.net/4n2vcy6s/) –

+0

J'ai oublié de dire que j'utilise moustache.js pour rendre cette propriété dans l'objet il ressemble à ceci

Répondre

3

Depuis le commentaire, vous pouvez utiliser {{{dangerMessage}}}:

<script type="text/x-mustache-tmpl" id="order-template"> 
    <div>{{{dangerMessage}}}</div> 
</script> 

De Doc:

Toutes les variables sont échappées par défaut HTML. Si vous voulez retourner HTML non échappé, utilisez la moustache triple: {{{name}}}.

+0

Ai-je raté quelque chose? Qu'est-ce que votre code a à voir avec le message? Et pourquoi avez-vous étiqueté «moustache»? – Ionut

+0

@Ionut - le code ici fonctionne réellement (Vous manquez le commentaire où l'OP a déclaré theyre using la moustache) – Jamiec

+0

@Jamiec, ok. Désolé mon mauvais.Manqué ça. +1 – Ionut

0

Il fonctionne.

Regardez le résultat de l'extrait de code ci-dessous.

var notificationDetails = { 
 
    dangerMessage: "I love basketball and love to watch it in. <a href='www.nba.com'>Link</a>;", 
 
    seats: "1 seatRemaining", 
 
    pName: "Item 1", 
 
    class: "" 
 
}; 
 

 
document.write(notificationDetails.dangerMessage);

EDIT pour mustache.js: Pour avoir html vous non échappés suffit d'utiliser triple crochets{{{ }}} au lieu des crochets doubles pour {{ }} html échappé:

<div>{{{dangerMessage}}}</div>

Docs

+0

Ceci n'est pas une réponse. – Nick

0

Vous pouvez utiliser .innerHtml propriété d'éléments DOM:

function myFunction() { 
 
    var notificationDetails = { 
 
      dangerMessage: "I love basketball and love to watch it in. <a href='www.nba.com'>Link</a>;", 
 
      seats: "1 seatRemaining", 
 
      pName: "Item 1", 
 
      class:"" 
 
    }; 
 
    document.getElementById("demo").innerHTML = notificationDetails.dangerMessage; 
 
}
<p id="demo" onclick="myFunction()">Click me to change my HTML content (innerHTML).</p>

Cocher cette page: https://jsfiddle.net/o8nzwxt1/

+0

Vous vous rendez compte que l'édition que j'ai faite était de rendre ceci exécutable * dans la réponse elle-même * - annulant le besoin d'un lien externe vers jsfiddle. – Jamiec