未捕获的类型错误:$this.文本不是函数

Uncaught TypeError: $this.text is not a function

本文关键字:文本 this 函数 类型 错误      更新时间:2023-09-26

代码中的第二个语句:

var $this = $(this).children('div.submenu1').children('a.subtile')[0],
title = $this.text(),
name = $this.attr('node').val;

产生如下错误:

Uncaught TypeError: $this.text is not a function

当我在Chrome调试器中悬停在$this.text()上时,我可以看到我想要在title中拥有的值。

如何修复这个错误?

这是因为你分配给变量$this一个本地DOM引用,而不是jQuery引用。只有后者可以访问jQuery API。

你这样做是通过"到达内部"数组样的jQuery堆栈和提取本地引用,通过[0]。去掉这个,它就可以工作了:

var $this = $(this).children('div.submenu1').children('a.subtile'),
title = $this.text(), //<-- now has access to jQuery API

$this是一个DOM对象,而不是jQuery对象。可以像$($this).text()$this.innerText那样换行来读取文本

因为这是第一个结果,对我来说,当我谷歌这个,我会张贴我的问题/解决方案。我写的是Text()而不是Text()。我的投资是错误的。

我也面临同样的问题,结果是JavaScript在我的浏览器上被禁用了。确保在页面上启用了JavaScript加载。