这个 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)
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)