2017-07-22 1 views
-2

Ich versuche <div id="demo"></div>-<div id="demo">Hello<World.</div>Zeichen „<“ enden Zeichenfolge in js

Problem in meinem Beispiel zu ändern, ist das Ergebnis <div id="demo">Hello</div>.

Wie kann ich das Ergebnis erhalten <div>Hello<world.</div>?

Beispiel:

var str = "Hello<world."; 
 
document.getElementById("demo").innerHTML = str; // Hello
<div id="demo"></div>

asd

+4

** Unterschiedlichen ** Code in die Frage und in JS einfügen Fiddle ist nicht hilfreich! – Quentin

+1

@Quentin haben nicht alle 100k + rep Benutzer die Gedankenlesefähigkeit? – zerkms

+0

hat es behoben. sry hat nicht erwartet, dass es mit console.log anders sein würde – user3743266

Antwort

6

Sie innerHTML verwenden, die eine HTML-Zeichenfolge erwartet. Da < zum Erstellen von Tags in HTML verwendet wird, wird das Wort world als Tag-Name interpretiert.

Verwenden textContent statt:

var str = "Hello<world."; 
 
document.getElementById("demo").textContent = str;
<div id="demo"></div>

2

können Sie verwenden Innertext.

var str = "Hello<world."; 
document.getElementById("demo").innerText = str; 
1

Verwendung textContent statt innerHtml als < ist ein HTML-String, so dass es 'Welt' als Tag behandelt.

var str = "Hello<world."; 
 
document.getElementById("demo").textContent = str;
<div id="demo"> 
 

 
</div>

2

Oder Sie verwenden können:

var str = "Hello&lt;world."; 
2

Der Browser denkt, dass es der Beginn einer HTML-Tag ist. Versuchen Sie es mit &lt;.

var str = "Hello&lt;world."; 
console.log(str); // Hello 
Verwandte Themen