为什么我的JavaScript中出现此错误?

时间:2015-03-11 18:08:35

标签: javascript html dynamic html-table

我有一个内置Javascript脚本的html文件。当我右键单击该文件时,在本地使用Firefox打开,它完全正常。但是,当我把文件放在服务器上时,Javascript并没有像我预期的那样工作,而且我有这个错误 -

  

TypeError:无法读取属性'行'为null

var tableResult = document.getElementById("tableForChange");
    for (var y=1; y < tableResult.rows.length;){ //error on this line

tableResult是一个html表。当我在本地打开文件时,一切正常。

tableResult是一个通过将XSL转换应用于XML文档而生成的html表。作为XSL转换的一部分,我做<table id="tableForChange">。当我在本地打开文件并检查元素时,表具有id。但是,当我在线加载文件并检查元素时,表格没有ID。

1 个答案:

答案 0 :(得分:1)

TypeError: Cannot read property 'rows' of null

因此,您访问属性rows的对象实际上是null

这意味着tableResultnull

这意味着document.getElementById("tableForChange")会返回null

这可能意味着具有id&#34; tableForChange&#34;的元素在页面上不存在,至少在这个javascript执行时。


  1. 在构建正文之前,您的javscript是否在<head>标记中执行?如果是,请移动该代码以执行onload
  2. 您确定该元素确实存在吗?也许你的身份在某处有拼写错误。