TypeError:show不是函数

时间:2012-10-12 10:53:27

标签: javascript jquery

我正在使用jQuery在网站上进行动态内容行为。我有一个错误:

  

TypeError:$(“#id”)。attr(“src”,   thisContent.attr(“data-attr”))。show不是函数

首先我认为它与浏览器有关,但事实证明它不是。错误在这一行:

$('#id').attr('src', thisContent.attr('data-attr')).show();

3 个答案:

答案 0 :(得分:3)

如果.attr()的第二个参数是undefined,则会调用getter。 似乎调用了getter而不是setter。

吸气剂:

$(...).attr(String) // returns String which has no method .show()

设置器:

$(...).attr(String, String) // returns jQuery object, which has method .show()
在某些情况下,

thisContent.attr('data-attr')可能会返回undefined,因此会调用getter而不是所需的setter方法。

答案 1 :(得分:0)

请尝试以下操作。

将您的data-attr重命名为其他内容。

查看thisContect.attr中是否存在data-attr。

记录以下行并转到控制台。在那里,您将看到data-attr不存在或位于错误的位置。

的console.log(thisContent);

答案 2 :(得分:0)

随机问题,但可以肯定......

您是否通过他们的CDN访问jQuery?

如果是,请两台机器加载jQuery代码吗?两者都可以看到没有问题的CDN(都连接到互联网)?和其他一些jQuery代码有效吗?

浏览器渲染/处理JS的方式非常罕见,因为它是如此完善的语言。所以我的建议是,不是基于浏览器的问题,而是代码之外的东西。

只是一个想法..