工作中碰到一个问题,以document.getElementById("XXX").innerHTML获取某个textarea中的值时发现:>总是变成>。经过查资料,了解到document.getElementById("XXX").innerHTML方式获取值的时候会作如下转换:
<转换成<
>转换成>
&转换成&
"转换成"
可按如下两种方法处理这个问题:
方法一:
//转意符换成普通字符
function escape2Html(str) {
var arrEntities={'lt':'<','gt':'>','nbsp':' ','amp':'&','quot':'"'};
return str.replace(/&(lt|gt|nbsp|amp|quot);/ig,function(all,t){return arrEntities[t];});
}
方法二:
//使用document.getElementById("XXX").value获取值
document.getElementById("XXX").value;

本文介绍了解决从HTML元素中获取文本时遇到的特殊字符转义问题,提供了两种有效的方法来还原原始文本内容,包括使用自定义函数进行转换及直接通过.value属性获取。
7281

被折叠的 条评论
为什么被折叠?



