Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何逃离<;脚本>;jquery html()中的标记。我使用了innerHTML和outerHTML来解决这个问题,但其中存在一些问题_Javascript_Jquery - Fatal编程技术网

Javascript 如何逃离<;脚本>;jquery html()中的标记。我使用了innerHTML和outerHTML来解决这个问题,但其中存在一些问题

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

我想在加载页面时添加内容,并在保存到DB时删除内容

我的回答很有说服力

装载时:

我得到了回应,并尝试将其投入测试领域

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时删除内容。”-您能再解释一下吗?听起来可能有更好的解决方案来解决您的问题。加载页面内容时,我需要将数据放入此临时标记中以供查看,保存时,我需要删除我添加的临时标记。我希望在响应中保留脚本标记。我更新了描述