如何让IE将NBSP识别为NBSP而不是空间?

时间:2010-02-26 22:07:52

标签: javascript html internet-explorer

对于以下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的错误属性吗?

Here's it running on jsbin

2 个答案:

答案 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("&nbsp;")))