innerText属性没有编码html
innerText property is not encoding the html
我试图将评论文本分配给一个元素,该元素应该包含一些html。所以我试图在提交后在页面上显示评论文本之前对其进行编码。我已经尝试了以下过程,但它不是编码html。我希望将html转换为文字。
var span=document.createElement("span");
span.innerText=commenttext;
console.log(span.innerText);
编辑
1) commenttext
是一个变量。
2)我的字面意思是编码的html…, lt . .等
假设你有jQuery,看看这个答案:
function htmlEncode(value){
//create a in-memory div, set it's inner text(which jQuery automatically encodes)
//then grab the encoded contents back out. The div never exists on the page.
return $('<div/>').text(value).html();
}
然后在代码中使用这个方法,比如
var span=document.createElement("span");
span.innerText=htmlEncode(innerText);
console.log(span.innerText);
如果你不想使用jQuery,也可以看看这个答案
下面的代码只是替换< with < and > with >
。这适用于简单的情况,但应该真正转义字符&
<html>
<body>
<div id="output">out</div>
<script type="text/javascript">
var commenttext = '<ul><li style="color:red;">This is a comment</ul>';
var span=document.createElement("span");
span.innerHTML=commenttext;
// displays: This is a comment
console.log( 'console: ' + span.textContent );
//displays: "<ul><li style="color:red;">This is a comment</li></ul>"
console.log( span.innerHTML );
//displays: "<ul><li style="color:red;">This is a comment</li></ul>"
document.getElementById('output').innerHTML = span.innerHTML.replace(/</g,'<').replace(/>/g,'>');
</script>
</body>
</html>
阅读innerTXT和innerHTML的区别,它们是不一样的!innerText属性设置或返回指定节点及其所有子节点的文本内容。
innerHTML属性设置或返回元素的HTML内容(内部HTML)。
相关文章:
- 以HTML文件中的编码形式脱机存储图像
- 使用php在html中搜索硬编码的JavaScript变量
- JSON编码一个HTML列表——所有子项都显示在所有父项上
- 如何避免在HTML中使用ng repeat对url名称进行硬编码
- 在HTML页面中隐藏静态(或硬编码)文本
- 隐藏HTML元素中的JSON编码和解码
- 编码为深度嵌套对象的 HTML 字段 json
- HTML 编码<文本区域>值
- Kendo UI-将Text()括起来的文本转换为<span>编码HTML
- 如何编码 html 标签实体 - JavaScript
- prettify.js如何编码HTML以显示在页面上
- 字符串编码html
- 为JSON字符串编码HTML
- 我如何编码html引导弹出窗口和工具提示内容
- 编码HTML/Javascript以生成HTML文件
- 编码html以显示数字,使其以千为单位
- 使用角度将字符串中的隐蔽编码 HTML 转换为输入字段的纯文本
- 如何将完成的编码HTML / css页面实现到CMS中
- innerText属性没有编码html
- Javascript在服务器上编码HTML实体