jQuery 滑块未捕获类型错误:对象#<对象>没有方法“data”;

发布于 2024-12-09 15:42:10 字数 217 浏览 0 评论 0原文

我收到以下错误 此处

错误内容如下: Uncaught TypeError: Object # has no method 'data'

我一辈子都无法弄清楚这个错误是从哪里来的!

如果有人有哪怕一点线索,请告诉我!

谢谢你,

埃文

I am getting the following error HERE

The error reads:
Uncaught TypeError: Object # has no method 'data'

I cannot figure out for the life of me where this error is originating from!

If anyone has even the slightest clue, please let me know!

Thank you,

Evan

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

铁轨上的流浪者 2024-12-16 15:42:10

它源自“jquery.nivo.slider.pack.js”,更准确地说,是在第 67 行抱怨 element.data 不是一个函数(Firebug 是进行此类调试的一个很好的工具:-))。我不完全确定,但这可能是因为您的 html 中包含以下代码:

<script type="text/javascript">
$(window).load(function() {
    $('#slider').nivoSlider();
});
</script>

$(window).load 将在窗口加载后立即触发,此时滑块 div 可能不存在于 DOM 中。因此,尝试将其更改为:

<script type="text/javascript">
$(document).ready(function() {
    $('#slider').nivoSlider();
});
</script>

这将确保 DOM 已被绘制并且可供插件使用。另外,看起来插件需要一个“element”参数,而您没有传递任何参数,这可能是 element.data 未定义的原因。为此,您可以尝试:

$('#slider').nivoSlider($(this));

希望其中之一适合您。

It's originating from "jquery.nivo.slider.pack.js" and more precisely is complaining about element.data is not a function at line 67 (Firebug is a great tool for such debugging :-) ). I am not entirely sure, but it could be because of the following code in your html:

<script type="text/javascript">
$(window).load(function() {
    $('#slider').nivoSlider();
});
</script>

$(window).load will fire as soon as the window is loaded at which point it could be that the slider div is not present in the DOM. So, try changing this to:

<script type="text/javascript">
$(document).ready(function() {
    $('#slider').nivoSlider();
});
</script>

This will ensure that the DOM has been painted and available for the plugin to work on. Also, it looks like the plugin expects an 'element' argument, whereas you are passing none, which could be the reason for element.data to be undefined. For this you can try:

$('#slider').nivoSlider($(this));

Hope one of them works for you.

清风夜微凉 2024-12-16 15:42:10

如果有人遇到同样的问题,live() 已被弃用,替换为 on(),您需要使用较新版本的 nivo 或较旧版本的 jquery,jquery-1.8.0 可以工作。

Incase anyone is stuck with the same thing, live() is deprecated replaced with on(), you need to use a newer version of nivo or an older version of jquery, jquery-1.8.0 works.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文