2016-07-29 6 views
-1

Ich versuche, "<" und ">" in jquery zu ersetzen, um für Mensch <div> zum Beispiel anzuzeigen. Ich möchte es nach der Initialisierung tun. Irgendeine Idee?Ersetzen < and > in jquery

var el = $("#mydiv").clone(); 
el.text().replace(new RegExp("<", 'g'), "&lt;"); 
el.html().replace(new RegExp(">", 'g'), "&gt;"); 
$("mydiv").after(el); 

Und Sie denken, dass es möglich ist, dasselbe von einer JS-Funktion zu tun?

<script> 
function myFunction(){ 
console.log("yeah")} 
</script> 

in =>

<div> 
function myFunction(){ 
console.log("yeah")} 
</div> 
+1

Sie schrieb "<" zweimal statt "<" and ">" im Code – berty

+2

Sie müssen auch das Ergebnis von 'replace()' auf eine Variable setzen. –

+0

Sollte diese Frage als Tippfehler geschlossen werden? – Ares

Antwort

1

Es wäre einfacher, .html() auf Ihrem Element zu rufen und sie zu .text() speichern;

var el = $("#mydiv").clone(); 
 
$(el).text($(el).html()); 
 
$("#mydiv").after(el);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="mydiv">I'm a <span style="color:red">test</span></div>

1

Sie müssen von String#replace Methode, den Inhalt mit der Zeichenfolge Rückkehr aktualisieren oder html() Methode mit einer Callback-Funktion verwenden.

var el = $("#mydiv").clone(); 

el.html(function(i,v){ 
    return v.replace(/</g, "&gt;").replace(/>/g, "&lt;"); 
}); 

$("mydiv").after(el); 
Verwandte Themen