首页 > 代码库 > 【javascript】异常错误

【javascript】异常错误

<!DOCTYPE html><html><head>  <meta charset="utf-8">  <title>JS Bin</title>  <script type="text/javascript">    window.onload = function(){        var row = document.createElement("tr");        document.getElementById("tbody").appendChild(row);    };  </script></head><body><table></table>    <tbody id="tbody">    </tbody></body></html>

//每个浏览器会报不同的错误(由错误的标签嵌套引起,需要把tbody放在table里)

+| IE 6,7,8   | 意外地调用了方法或属性访问。                                                                   | 0      |+| IE 9       | 无法获取属性“appendChild”的值: 对象为 null 或未定义                                          | 0      |+| IE 10      | 无法获取未定义或 null 引用的属性“appendChild”                                                | 0      |+| Chrome 17  | Uncaught TypeError: Cannot call method ‘appendChild‘ of null                                   |        |+| Safari 6   | TypeError: ‘null‘ is not an object (evaluating ‘document.getElementById("tbody").appendChild‘) |        |+| Firefox 21 | TypeError: document.getElementById(...) is null                                                |        |+| Opera 12   | Uncaught exception: TypeError: Cannot convert ‘document.getElementById("tbody")‘ to object     |        |

二 、 li 节点设置 value 属性(可以设置别的属性代替)

<!DOCTYPE html><html><head>  <meta charset="utf-8">  <title>JS Bin</title><script type="text/javascript">  window.onload = function(){    document.getElementById("btn-test").onclick = function(){      var ul = document.createElement("ul");      var li = document.createElement("li");      //下面两行代码会触发异常     // li.value = "http://www.mamicode.com/11";      li.setAttribute("value","11");        ul.appendChild(li);      document.body.appendChild(ul);    };  };</script></head><body><button id="btn-test">点击开始测试</button></body></html>

// 已知 IE6, IE7 会导致浏览器崩溃