这个 JSDOM 设置有什么问题?

What's wrong with this JSDOM setup?

import jsdom from 'jsdom'

const virtualConsole = jsdom.createVirtualConsole()

virtualConsole.on('jsdomError', ({stack, detail}) => console.error(stack, detail))

global.document = jsdom.jsdom(`
  <html>
    <body>
      <div id="foo">some text</div>
    </body>
  </html>
`, { virtualConsole })

global.window = document.defaultView
global.navigator = window.navigator

const elem = document.getElementById('foo')
console.log('foo text', elem.text())

这给了我一个奇妙的错误 elem.text is not a function

我正在使用 JSDOM v9.1.0

我错过了什么?

.text() 是一种 jQuery 方法,它 returns 给定元素的文本内容。恐怕它实际上不是 JavaScript DOM API 的一部分。尝试使用 .textContent 属性。 (MDN link).

const elem = document.getElementById('foo')
console.log('foo text', elem.textContent)