这个JSDOM设置有什么问题?

时间:2016-06-04 13:06:01

标签: javascript jsdom

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

我错过了什么?

1 个答案:

答案 0 :(得分:0)

.text()是一个返回给定元素的文本内容的jQuery方法。它实际上并不是我担心的JavaScript DOM API的一部分。尝试使用.textContent属性。 (MDN link)。

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