小编Arr*_*rix的帖子

将HTML实体分配给innerHTML时出现DOM异常

在此页面http://blog.zacharyvoase.com/2010/11/11/sockets-and-nodes-i/,在javascript控制台中运行以下代码将引发异常.

var div = document.createElement('div'); div.innerHTML = "»";
Run Code Online (Sandbox Code Playgroud)
  • Chrome 8.0.552.28 Mac:错误:INVALID_STATE_ERR:DOM例外11
  • Firefox 3.6.12 Mac中的Firebug:NS_ERROR_DOM_SYNTAX_ERR指定了无效或非法的字符串
  • Safari 5.0.2 Mac:错误:NO_MODIFICATION_ALLOWED_ERR:DOM异常7
    Opera:工作正常

但它在我尝试的所有其他页面中都能正常工作.我的问题是关于页面的特殊之处以及为什么chrome和firefox会抛出异常

不使用实体直接编写字符可以正常工作.

var div = document.createElement('div'); div.innerHTML = "»";
Run Code Online (Sandbox Code Playgroud)

使用其他实体也有效,例如

var div = document.createElement('div'); div.innerHTML = "<";
Run Code Online (Sandbox Code Playgroud)

html javascript innerhtml

7
推荐指数
1
解决办法
4794
查看次数

标签 统计

html ×1

innerhtml ×1

javascript ×1