编辑:我通过...加载 jquery 库让它工作 我认为 jQuery 像 JavaScript 一样工作,不需要导入任何东西。很抱歉浪费您的时间提出一个愚蠢的问题。
//
这是使用 jQuery 修复 IE6 中顶部菜单(悬停效果)显示的工作 wordpress 插件。
我想要的是实现主题中的功能,同时消除插件的需要。
如果我把这部分放在我得到的错误
<script type="text/javascript">
jQuery(document).ready( function($) {
$('#access li').mouseover( function() {
$(this).find('ul').show();
});
$('#access li').mouseleave( function() {
$(this).find('ul').hide();
});
$('#access li ul').mouseleave( function() {
$(this).hide();
});
});
</script>
在该<head>
部分中Uncaught ReferenceError: jQuery is not defined
,我发现最有可能的问题是我的代码是在加载 JS 之前运行的。
我使用了在网上找到的解决方案并将我的代码包装在这个
$(document).ready(function () {
//my code here
});
并尝试了一下。现在我遇到了两个错误。
Uncaught ReferenceError: $ is not defined
Uncaught ReferenceError: jQuery is not defined
查看错误后,它更清楚了,但仍然不确定为什么它不起作用
//
我通过从http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js加载 jquery 库让它工作我认为 jQuery 像 JavaScript 一样工作,不需要导入任何东西;D
Wordpress 插件源代码:
<?php
/**
* Plugin Name: Twentyten IE6 Menus
* Author: Sara Cannon
* Author URI: http://sara-cannon.com
* Description: Make the menu drop down in IE6 (if you care about that sort of thing)
* Version: 1.0
* License: GPL2
*/
function sara_twentyten_ie6_menus_enqueue() {
wp_enqueue_script( 'jquery' );
}
add_action( 'after_setup_theme', 'sara_twentyten_ie6_menus_enqueue' );
function sara_twentyten_ie6_menus_script() {
?>
<!--[if lte IE 6]>
<script type="text/javascript">
jQuery(document).ready( function($) {
$('#access li').mouseover( function() {
$(this).find('ul').show();
});
$('#access li').mouseleave( function() {
$(this).find('ul').hide();
});
$('#access li ul').mouseleave( function() {
$(this).hide();
});
});
</script>
<![endif]-->
<?php
}
add_action( 'wp_footer', 'sara_twentyten_ie6_menus_script' );