-5

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

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

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

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

3 回答 3

3

如果第二个参数.attr()undefinedgetter 将被调用。似乎调用了 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 方法。

于 2012-10-12T11:06:37.993 回答
0

试试下面的。

将您的数据属性重命名为其他名称。

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

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

console.log(thisContent);

于 2012-10-12T10:59:40.993 回答
0

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

你是通过他们的 CDN 访问 jQuery 吗?

如果是,两台机器都可以正常加载 jQuery 代码吗?两者都可以毫无问题地看到 CDN(都连接到互联网)?和其他一些 jQuery 代码正在工作?

浏览器在渲染/处理 JS 的方式上会有所不同是非常罕见的,因为它是一种非常成熟的语言。所以我的建议是,它不是基于浏览器的问题,而是你的代码之外的东西。

只是一个想法..

于 2012-10-12T11:06:26.920 回答