繁体   English   中英

HTML / Javascript-Textarea故障?

[英]HTML / Javascript - Textarea glitch?

有了我文档中的这段代码,

<body>
<a style="font-family: Arial, Helvetica, sans-serif;">Text area:</a><br>
<textarea id="html_code" style="
font-family: 'Courier New', Courier, monospace;
width: 650px;
height: 400px;
padding: 7.5px;
margin-top: 5px;
resize: vertical;" spellcheck="false"></textarea>

<script>

document.getElementById("html_code").value = '<!doctype html>\n<html>\n<head>\n<meta charset="utf-8">\n</head>\n<body>\n<script>\n</script>\n</body>\n</html>';

</script>
</body>

有一个意想不到的结果。 文本未在文本区域中正确显示。

这是上述代码的结果的预览

是什么导致这种情况发生?

因为您将<script>\\n</script>放在

'<!doctype html>\\n<html>\\n<head>\\n<meta charset="utf-8">\\n</head>\\n<body><script>\\n</script>\\n</body>\\n</html>'

在textarea中不是标签,而是标签。

UPDATE

</script>更改为<\\/script>确实可以解决您的问题。

DEMO

尝试这个

document.getElementById(“ html_code”)。innerHTML ='<!doctype html> \\ n <html> \\ n <head> \\ n <meta charset =“ utf-8”> \\ n </ head> \\ n <body> \\ n <SCRIPT> \\ n </ SCRIPT> \\ n </ BODY> \\ n </ HTML>';

请确保您从字符串中转义了html ,此处未显示。 单击答案上的编辑以查看它。

第一,最重要的是您不希望将HTML标记代码添加到Textarea。 如果需要将原始HTML添加到容器中,请使用divp 您可以使用divContentEditable属性选项将html标记添加到容器。 https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_Editable

您可以像这样将标记添加到contenteditable div中: document.getElementById("html_code").innerHTML = '<!doctype html>\\如果将此HTML添加到当前DOM文档中存在的可内容编辑的div中你不需要

'<!doctype html>\n<html>\n<head>\n<meta charset="utf-8">\n</head>\n<body>\n< 

部分代码,因为您要向当前文档添加新文档和新主体。 那是不对的。 我看到的唯一需要添加的就是脚本,如果是这种情况,您只需要将该脚本添加到文档的开头即可。

您希望最终结果是什么?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM