无法确定在何处加载javascript文件
HTML 我一直收到一个错误“UncaughtTypeError:无法读取null的属性'querySelectorAll' 我想这和我调用一个函数时的事实有关,这个函数试图在元素节点存在之前抓住它无法确定在何处加载javascript文件,javascript,Javascript,HTML 我一直收到一个错误“UncaughtTypeError:无法读取null的属性'querySelectorAll' 我想这和我调用一个函数时的事实有关,这个函数试图在元素节点存在之前抓住它 我正在HTML文件的部分加载Javascript文件,因此我添加了窗口.onload函数,以确保在页面运行之前加载所有内容。然而,我仍然不断地得到这个错误 看看JavaScript中的这一行: function startFunction() { var table = document.q
我正在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”)和…这应该也很好,对吧?那会有用的,是的,只是要知道类可以应用于多个元素。