我有一个内置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。
答案 0 :(得分:1)
TypeError: Cannot read property 'rows' of null
因此,您访问属性rows
的对象实际上是null
。
这意味着tableResult
为null
。
这意味着document.getElementById("tableForChange")
会返回null
。
这可能意味着具有id
&#34; tableForChange&#34;的元素在页面上不存在,至少在这个javascript执行时。
<head>
标记中执行?如果是,请移动该代码以执行onload
。