Javascript 如何逃离<;脚本>;jquery html()中的标记。我使用了innerHTML和outerHTML来解决这个问题,但其中存在一些问题
我想在加载页面时添加内容,并在保存到DB时删除内容 我的回答很有说服力 装载时: 我得到了回应,并尝试将其投入测试领域Javascript 如何逃离<;脚本>;jquery html()中的标记。我使用了innerHTML和outerHTML来解决这个问题,但其中存在一些问题,javascript,jquery,Javascript,Jquery,我想在加载页面时添加内容,并在保存到DB时删除内容 我的回答很有说服力 装载时: 我得到了回应,并尝试将其投入测试领域 var element = document.createElement("pp"); var test = $j(element ).attr("id", "exam").addClass("exam"); test.innerHTML = "test script <div>test</div><script src=\"te
var element = document.createElement("pp");
var test = $j(element ).attr("id", "exam").addClass("exam");
test.innerHTML = "test script <div>test</div><script src=\"test.js\" src=\"text/javascript\"></script>";
var-element=document.createElement(“pp”);
var测试=$j(元素).attr(“id”,“考试”).addClass(“考试”);
test.innerHTML=“测试脚本测试”;
访问测试[0].outerHTML时,我得到的是
<pp class="exam" id="exam"></pp>
但我希望能有一个输出
<pp class="exam" id="exam">test script <div>test</div><script src=\"test.js\" src=\"text/javascript\"></script></pp>
测试脚本测试
让我知道这有什么问题
保存时:
我正在获取文本字段的内容
$j("#textfield").html() which has <pp class="exam" id="exam">Test<script src="test.js" src="text/javascript"></script></pp>
$j(“#textfield”).html(),它具有测试
现在我需要逃离这个世界
<pp class="exam" id="exam"></pp>
所以我用
$j("#textfield").html().html() which is stripping the <script> tag.
$j(“#textfield”).html().html(),它正在剥离标记。
让我知道在这种情况下如何保留
标记。尝试以下方法:
var stringOfHtml = // Your content HTML
$(stringOfHtml).find('script').remove();
您可以对
标记进行编码:
$("<div/>").text(s).html();
$(“”).文本.html();
并在使用前对其进行解码:
$('<div/>').html(text).text();
$('').html(text.text();
您可以尝试使用香草javascript:
var element = document.createElement("pp");
element.id = 'exam';
element.className = 'exam';
element.innerHTML = "test script <div>test</div><script src=\"test.js\" src=\"text/javascript\"></script>";
document.body.appendChild(element);
/* Check contents of <pp id='exam'>*/
var myEl = document.querySelector('#exam').outerHTML;
console.log(myEl);
var-element=document.createElement(“pp”);
element.id='exam';
element.className='exam';
element.innerHTML=“测试脚本测试”;
document.body.appendChild(元素);
/*检查目录*/
var myEl=document.querySelector('#exam').outerHTML;
控制台日志(myEl);
console.log的输出将是:
<pp id=\"exam\" class=\"exam\">test script <div>test</div><script src=\"test.js\"></script></pp>
测试脚本测试
希望有帮助!
您可以在此处了解innerHTML与outerHTML的工作原理:“我想在加载页面时添加内容,并在保存到DB时删除内容。”-您能再解释一下吗?听起来可能有更好的解决方案来解决您的问题。加载页面内容时,我需要将数据放入此临时标记中以供查看,保存时,我需要删除我添加的临时标记。我希望在响应中保留脚本标记。我更新了描述