未捕获的TypeError:$ this.text不是函数

时间:2016-11-08 11:45:53

标签: javascript jquery

此代码中的第二个陈述:

add

产生此错误:

AdRequest request = new AdRequest.Builder()
        .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
        .build();
mInterstitial.loadAd(request);

当我将鼠标悬停在Chrome调试器的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 中看到我想要的值。

如何解决此错误?

3 个答案:

答案 0 :(得分:11)

这种情况正在发生,因为您将变量$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

答案 1 :(得分:3)

$这是DOM对象而不是jquery对象,可以像$($this).text()$this.innerText一样包装来读取文本

答案 2 :(得分:0)

因为这是第一个结果,对我来说,当我用Google搜索时,我会发布我的问题/解决方案。我写过Text()而不是text()。我的资本化是错误的。