使用ReplaceWith用复选框替换文本

时间:2016-04-23 03:47:16

标签: jquery replacewith

我在使用包含复选框的div替换文本时遇到问题。当我有以下代码时,文本成功替换:

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

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

</script>

但是,当替换文本包含复选框时,脚本将停止工作。具体而言,以下内容不起作用:

<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>

如果有人能解释如何解决这个问题,我将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:0)

您的问题是您在javascript "

中使用了html "

你必须在这个字符串中使用交替引号

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

它应该看起来像这样

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

答案 1 :(得分:0)

$( ".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>

OP的唯一问题是""将其更改为''