我正在尝试实现在这个教程。上找到的吸盘鱼菜单,我从样例javascript中得到了“对象预期”错误:
$(document).ready(function () {
$("#nav-one li").hover(
function () { $("ul", this).fadeIn("fast"); },
function () { }
);
if (document.all) {
$("#nav-one li").hoverClass("sfHover");
}
});我使用以下方法导入了JQuery:
<script type="text/javascript" src="~/Scripts/jquery-1.4.1.js"></script>JQuery导入在页面标题中。javascript就在<body>内部。如果我能分辨出哪个对象有问题,而不是被指向这段代码,那就太好了。我对JQuery和初学者级别的javascript都是新手。
更新菜单的开始:
<ul id="nav-one" class="nav">
<li>
<a href="#item1">item 1</a>
<ul>(我认为#nav-1指向菜单“nav-one”的id )。
我相信这个css涵盖了"sfHover“部分:
#nav-one li.sfHover a {
background: #ccc;
color: #000;
}发布于 2010-10-28 13:39:19
当您没有正确地包含jQuery时,可能会出现“对象预期”错误。在src属性所指向的目录中有'jquery-1.4.1.js‘文件吗?
要测试这是否是问题所在,请尝试将jQuery包含替换为以下内容:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>这将要求jQuery从谷歌的服务器。
编辑:
如果我使用您的示例代码和上面提到的jQuery包含,我就不会得到这个错误。但是,您还需要包括
$.fn.hoverClass = function(c) {
return this.each(function(){
$(this).hover(
function() { $(this).addClass(c); },
function() { $(this).removeClass(c); }
);
});
};部分来自你的例子。它将hoverClass定义为jQuery方法(它不是标准jQuery库的一部分)。
https://stackoverflow.com/questions/4043372
复制相似问题