我真的很抱歉问这个问题,但我已经尝试了一切(我知道并理解)并且无法让它发挥作用。
$("nav > ul > li").hover(function () {
var underground = $(this).attr('title');
$("#womble").html(underground);
},function () {
$("#womble").html(overground);
});
这是在调用 Jquery1.7.2 之后调用的外部脚本文件中。我不愿意将它放在一个函数中并通过 HTML DOM onmouseover 事件处理程序调用它。
是不是我不能在里面定义$(this)
变量function(){}
?或者这是对的,只是因为其他原因没有触发?
变量“overground”在别处全局定义。是的,html<li>
标签有"title="
也没有"Title="
——所以我也检查过......我确信它是简单而明显的。再次为我的无知和/或愚蠢道歉。
HTML 是:
<nav>
<ul>
<li title="Wombling free"><a></a></li>
<li title="the wombles of"><a></a></li>
<li title="Wimbledon Common"></li>
<li title="are we"></li>
</ul>
</nav>
谢谢大家,我曾多次尝试将代码放入 $(document).ready 函数中,但现在可以了!...非常感谢所有的建议。我想我不太了解事件处理程序,因为我认为那不会有任何区别。我原以为代码只会由悬停事件触发。但很明显,它必须在 document.ready 中,以便 jquery 可以通过相关元素以某种方式注册它。虽然我曾尝试将代码放入文档就绪函数中。
它现在正在工作,实际上我不知道我之前和现在尝试的有什么区别/错误!我把它全部放在一个函数中,并把它放在 document.ready 函数中。我的文档末尾一定有一个小的语法错误。准备部分,或者我尝试过十几次直接将代码放入的东西。感谢大家的快速反应。如果你不知道 womble 是什么,那是一个关于会说话的熊的儿童节目,它从 1970 年代开始在温布尔登公地捡垃圾。是的,我已经那么老了;大概是为什么我这么昏暗。