我正在使用jQuery在网站上进行动态内容行为。我有一个错误:
TypeError:$(“#id”)。attr(“src”, thisContent.attr(“data-attr”))。show不是函数
首先我认为它与浏览器有关,但事实证明它不是。错误在这一行:
$('#id').attr('src', thisContent.attr('data-attr')).show();
答案 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的方式非常罕见,因为它是如此完善的语言。所以我的建议是,不是基于浏览器的问题,而是代码之外的东西。
只是一个想法..