我对使用jquery很新,所以如果这是非常基本的东西,我很抱歉。
我一直在jsfiddle上玩,并得到一些jquery来做我想要的东西(当你将鼠标悬停在一个孩子上时向父级添加一个类),但当我拿到代码并尝试将其添加到我的wordpress网站时,它只是行不通。
这是我要添加的代码:
$('.explore > .country').hover(function() {
$(this).parent().toggleClass('hover');
})
我知道wordpress不喜欢$ for function,我试过这个:
<script type="text/javascript">
(function($) {
$('.explore > .country').hover(function() {
$(this).parent().toggleClass('hover');
})
})(jQuery);
</script>
这里还有jsfiddle
的链接非常感谢任何帮助。
答案 0 :(得分:2)
请务必先将jQuery排入队列。它内置于wordpress,但没有预先激活。
在你的主题的function.php文件中搜索“wp_enqueue”,如果有一个函数已经在那里排队脚本添加以下行...
wp_enqueue_script( 'jquery' );
否则,创建自己的enqueue脚本函数..
// function to enabled (enqueue) scripts in wordpress
function enqueue_scripts() {
wp_enqueue_script('jquery');
}
add_action('wp_enqueue_scripts','enqueue_scripts');
<强>更新强>
<强>替代地强>
您可以使用自定义代码创建一个js文件,并将其排队以便在网站范围内使用。
创建名为mycustomfunctions.js
把它放进去..
// describe function here
jQuery(function() {
jQuery('.explore > .country').hover(function() {
jQuery(this).parent().toggleClass('hover');
})
jQuery('.explore > .community').hover(function() {
jQuery(this).parent().toggleClass('hover2');
})
});
在您的子主题根文件夹中创建一个新文件夹,将其命名为'js'
将mycustomfunctions.js
放入js
文件夹
编辑您的子主题functions.php以包含..
// function to enable (enqueue) scripts in wordpress
function enqueue_scripts() {
wp_enqueue_script('mycustomfunctions', get_stylesheet_directory_uri() . '/js/mycustomfunctions.js', array('jquery') );
}
add_action('wp_enqueue_scripts','enqueue_scripts');
note - 不需要单独排队jquery,因为我们已经将它列为mycustomfunctions的依赖项(请参阅数组),由于这种必需的依赖性,wordpress会自动将jquery排队。
答案 1 :(得分:1)
试试这个答案:https://stackoverflow.com/a/21949790/4426282
使用$将返回undefined,请尝试使用jQuery。
答案 2 :(得分:0)
如果我理解你的问题,那么你需要做的就是:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
在两个<head>
代码
答案 3 :(得分:0)
function myCustomScript() { ?>
<script type="text/javascript">
jQuery( document ).ready(function() {
jQuery('.explore > .country').hover(function() {
jQuery(this).parent().toggleClass('hover');
})
});
</script>
<?php
}
add_action( 'wp_footer', 'myCustomScript' );
请在functions.php
添加上述代码吗?