工作中碰到一个问题,以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;