复制日期代码:获取innerHTML错误

时间:2019-05-10 16:59:39

标签: javascript jsdom

试图从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错误。

0 个答案:

没有答案