2016-04-23 14 views
2

Ich habe Probleme beim Ersetzen von Text durch ein div, das ein Kontrollkästchen enthält. Wenn ich den folgenden Code haben, wird der Text erfolgreich ersetzt:Ersetzen von Text mit einem Kontrollkästchen mit ReplaceWith

<p>Hello</p 
<p class="replaced">Hello</p> 
<p class="replaced">World</p> 

<script> 
$(".replaced").replaceWith("<div>REPLACING TEXT.</div>"); 

</script> 

Wenn das Ersetzen von Text eine Checkbox enthält jedoch arbeitet das Skript stoppt. Um genau zu sein, wird die folgende nicht:

<p>Hello</p 
<p class="replaced">Hello</p> 
<p class="replaced">World</p> 

<script> 
$(".replaced").replaceWith("<div><input type="checkbox" id="fractionsandratioscheck1" class="checkappear"/>REPLACING TEXT.</div>"); 

</script> 

Wenn jemand erklären könnte, wie dies zu beheben, würde ich es zu schätzen wissen. Vielen Dank!

Antwort

0

Ihr Problem ist, dass Sie HTML " in Ihrem Javascript verwenden "

müssen Sie Anführungszeichen innerhalb dieser Zeichenfolge

$(".replaced").replaceWith("<div><input type="checkbox" id="fractionsandratioscheck1" class="checkappear"/>REPLACING TEXT.</div>"); 

es so etwas wie dieses

$(".replaced").replaceWith('<div><input type="checkbox" id="fractionsandratioscheck1" class="checkappear"/>REPLACING TEXT.</div>'); 
aussehen sollte
0

verwenden abwechselnd

$(".replaced").replaceWith("<div><input type='checkbox' id='fractionsandratioscheck1' class='checkappear'/>REPLACING TEXT.</div>");//escape string properly
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<p>Hello</p 
 
<p class="replaced">Hello</p> 
 
<p class="replaced">World</p>

Das einzige Problem mit OP wird die "" sie '' ändern

Verwandte Themen