试图从JS课程中完成一个基本程序以显示用户信息数组,并且收到错误消息'Uncaught TypeError:无法读取未定义的属性'innerHTML'...
我正在匹配课程环境(节点v6.17.1,npm v3.10.10。)。我看到两个问题,不确定是否相关:
(1)复制教师代码时,编辑器不会让我声明“ global.document”(请参见下面的完整代码行)
(2)错误消息指向index.test.js,其中包含以下信息:
Uncaught TypeError: Cannot read property 'innerHTML' of undefined
at Object.done (C:/Users/Chris/js-dev-env/src/index.test.js:16:17)
at node_modules\jsdom\lib\jsdom.js:320:18
at processTicksAndRejections (internal/process/task_queues.js:82:9)
这是我尝试键入的index.js代码,但是编辑器不允许我声明global.document属性(也许这是较旧的语法?)
global.document.getElementById('users').innerHTML = usersBody;
...
describe('index.html', () => {
it('should have h1 that displays Users', (done) => {
const index = fs.readFileSync('./src/index.html', "utf-8");
jsdom.env(index, function(err, window) {
const h1 = window.document.getElementsByTagName('h1')[0];
expect(h1.innerHTML).to.equal("users");
done();
window.close();
});
});
})
期望显示3行用户信息(fName,lName,email)。无法克服.innerHTML错误。