无法确定在何处加载javascript文件

无法确定在何处加载javascript文件,javascript,Javascript,HTML 我一直收到一个错误“UncaughtTypeError:无法读取null的属性'querySelectorAll' 我想这和我调用一个函数时的事实有关,这个函数试图在元素节点存在之前抓住它 我正在HTML文件的部分加载Javascript文件,因此我添加了窗口.onload函数,以确保在页面运行之前加载所有内容。然而,我仍然不断地得到这个错误 看看JavaScript中的这一行: function startFunction() { var table = document.q

HTML

我一直收到一个错误“UncaughtTypeError:无法读取null的属性'querySelectorAll'

我想这和我调用一个函数时的事实有关,这个函数试图在元素节点存在之前抓住它


我正在HTML文件的
部分加载Javascript文件,因此我添加了
窗口.onload
函数,以确保在页面运行之前加载所有内容。然而,我仍然不断地得到这个错误

看看JavaScript中的这一行:

function startFunction() {
    var table = document.querySelector('#table');
    var table_cells = table.querySelectorAll('td');   
}


window.onload = function() {
  startFunction();
};
磅符号表示一个ID,因此您的javascript正在查找ID为“table”的元素

但是,如果你看你的桌子,它没有ID;只有课堂

解决方案是为您的
提供一个“table”ID,以便javascript能够正确地找到它:

var table = document.querySelector('#table');

查看JavaScript中的这一行:

function startFunction() {
    var table = document.querySelector('#table');
    var table_cells = table.querySelectorAll('td');   
}


window.onload = function() {
  startFunction();
};
磅符号表示一个ID,因此您的javascript正在查找ID为“table”的元素

但是,如果你看你的桌子,它没有ID;只有课堂

解决方案是为您的
提供一个“table”ID,以便javascript能够正确地找到它:

var table = document.querySelector('#table');

该表缺少
id
属性。相反,它具有class属性。通过添加
id

<table id="table">

该表缺少
id
属性。相反,它具有class属性。通过添加
id

<table id="table">

请在问题中添加附带的HTML标记好吗?您的代码应该可以正常工作。你确定你的表中有
id=“table”
?@Santi刚刚注意到我把“table”作为一个类。修正了这个问题。从链接的问题:“
window.onload
在加载所有图像、帧等后激发。”通常您只想等待DOM完成加载,ergo DOMContentLoaded。并且,正如on MDN的第一段所述:“当初始HTML文档完全加载和解析时,将触发DOMContentLoaded事件,而无需等待样式表、图像和子帧完成加载。一个非常不同的事件
load
应该仅用于检测完全加载的页面。在DOMContentLoaded更合适的地方使用
load
,这是一个非常普遍的错误,因此要小心。“请在您的问题中添加附带的HTML标记,好吗?您的代码应该可以正常工作。您确定您的表有
id=“table”
?@Santi刚刚注意到我有一个”table““作为一个班级。修正了这个问题。从链接的问题:“
window.onload
在加载所有图像、帧等后激发。”通常您只想等待DOM完成加载,ergo DOMContentLoaded。并且,正如on MDN的第一段所述:“当初始HTML文档完全加载和解析时,将触发DOMContentLoaded事件,而无需等待样式表、图像和子帧完成加载。一个非常不同的事件
load
应该仅用于检测完全加载的页面。使用
load
在其中加载domcontentload更合适,这是一个非常流行的错误,所以要小心。“就是这样!非常感谢。我一直认为它是关于我加载javascript文件的地方的问题。我最后只使用(.table)并且……应该也一样好,对吧?那会起作用的,是的,请注意,类可以应用于多个元素。就是这样!非常感谢你。我一直在想这是关于我加载javascript文件的地方。我最终只使用了(“.table”)和…这应该也很好,对吧?那会有用的,是的,只是要知道类可以应用于多个元素。