我有一个网站,我需要在其中生成表单字段集模板并将其保存在隐藏元素中。当用户需要向表单添加更多字段集时,会读取模板并将其插入到现有表单的底部。为了确保模板不会干扰 jQuery 选择器,我已经分别用 %LT!% 和 %QOT!% 替换了所有小于号和引号,并且想法是在模板时再次用正确的符号替换它们正在插入,但由于某种原因它不起作用。
在代码中显示情况:
HTML:
<div id="test">
%LT!%span id=%QOT!%testing%QOT!%>Hello%LT!%/span>
</div>
<span id="target"></span>
JS:
htmlstring = $("#test").html();
htmlstring = htmlstring.replace(/%LT!%/g, '<');
htmlstring = htmlstring.replace(/%QOT!%/g, '"');
$("#target").before(htmlstring);
只要第二行有小于号,它就不会起作用。将任何其他字符放在那里就可以了,但是这样绝对不会将任何内容添加到页面中。这里发生了什么?