对于以下JavaScript:
function EscapedString(str) {
var obj = document.createElement("span");
obj.innerHTML = str;
return "&#" + (obj.textContent || obj.innerText).charCodeAt(0) + ";";
}
alert(EscapedString(" "));
alert(EscapedString(" "));
alert(EscapedString("\xA0"));
IE为每个值返回 
,而不像其他浏览器正确执行的那样 
。 .innerText
是IE的错误属性吗?
答案 0 :(得分:1)
啊,我可以访问innerHTML创建的文本节点的值,并返回正确的值:
function EscapedString(str) {
var obj = document.createElement("div");
obj.innerHTML = str;
return "&#" + (obj.firstChild.nodeValue || obj.textContent).charCodeAt(0) + ";";
}
Here's the latest script running on jsbin
... and here's the gist of the final code I ended up using
答案 1 :(得分:0)
试一试。拆分'&'来自'nbsp'的字符
alert('&' + 'nbsp');
这对我有用。你能做到吗?
如果没有,也许你可以转换为ascii ???
<强>编辑强>
alert(String.fromCharCode(EscapedString(" ")))