如标题所示,我在我的网站上收到此错误。我已经通过IE8开发人员调试工具检查过,我得到了以下导致错误的代码。

<!-- slider js code start -->
<script type="text/javascript">
$().ready(function() {
    if(eval(document.getElementById('coda-slider-1')))
    {
        $('#coda-slider-1').codaSlider();
        //jQuery.noConflict(); var $j = jQuery;
    }
});

我已经包含了 Chrome 调试工具的屏幕截图。

http://img857.imageshack.us/i/javaerror.jpg

http://img204.imageshack.us/i/javaerror2.jpg

请帮我弄清楚。

谢谢你。

最佳答案

试试这个:

$(function() {
    if($('#coda-slider-1').size())
    {
        $('#coda-slider-1').codaSlider();
        //jQuery.noConflict(); var $j = jQuery;
    }
});

您的原始代码表示“不使用 jQuery 选择任何内容,并将此就绪处理程序应用于它”。正确的长手语法是:
$(document).ready(function() { ...

还要注意,我已经删除了 eval,因为它永远不应该被使用,除非它不可能避免。

更新

查看您的错误屏幕截图,似乎未定义 jQuery(至少没有定义 $ 别名。您是否将脚本包含在您的页面中?如果是这样,您是否在绑定(bind)就绪处理程序之前调用 jQuery.noConflict()

尝试将此脚本标签放在您发布的代码和尾声滑块的脚本标签之上:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script>

更新 2

正如 kingjiv 在下面的评论中指出的那样,我错了,$().ready 会起作用(尽管不推荐)。我相信我的第一次更新,注意到 jQuery 似乎没有被定义,是这里的实际问题。

关于jquery - 对象不支持此属性或方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5940028/

10-12 00:22
查看更多