Javascript 什么';这个JSDOM设置有什么问题? 从“jsdom”导入jsdom const virtualConsole=jsdom.createVirtualConsole() virtualConsole.on('jsdoError',({stack,detail})=>console.error(stack,detail)) global.document=jsdom.jsdom(` 一些文本 `,{virtualConsole}) global.window=document.defaultView global.navigator=window.navigator 常量elem=document.getElementById('foo') console.log('foo text',elem.text())

Javascript 什么';这个JSDOM设置有什么问题? 从“jsdom”导入jsdom const virtualConsole=jsdom.createVirtualConsole() virtualConsole.on('jsdoError',({stack,detail})=>console.error(stack,detail)) global.document=jsdom.jsdom(` 一些文本 `,{virtualConsole}) global.window=document.defaultView global.navigator=window.navigator 常量elem=document.getElementById('foo') console.log('foo text',elem.text()),javascript,jsdom,Javascript,Jsdom,这给了我一个奇妙的错误elem.text不是一个函数 我正在使用JSDOM v9.1.0 我缺少什么?.text()是一个jQuery方法,返回给定元素的文本内容。恐怕它实际上不是JavaScript DOM API的一部分。尝试使用.textContent属性。() 您希望.text()是什么函数?这是DOM,不是jQuery。请尝试使用elem.innerText或elem.textContent。.text()不是DOM函数。这是一个jQuery函数。哈哈,该死的-。我以前确实使用过inn

这给了我一个奇妙的错误
elem.text不是一个函数

我正在使用JSDOM v9.1.0

我缺少什么?

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


您希望
.text()
是什么函数?这是DOM,不是jQuery。请尝试使用
elem.innerText
elem.textContent
.text()
不是DOM函数。这是一个jQuery函数。哈哈,该死的-。我以前确实使用过innerText,但将其用作函数而不是属性。谢谢你叫醒我
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())
const elem = document.getElementById('foo')
console.log('foo text', elem.textContent)