问题描述
我的 jquery 文件在 WordPress 中不起作用。
错误在这里:
我的js代码:
(function($) {
$(document).ready(function(){
$('#read_more').click(function() {
$('.display_none').show().animate({'transition': '2s'});
});
});
})( jQuery );
我在functions.php
添加了一个custom-script.js
文件,如下所示:
function aristo_css_js(){
wp_enqueue_script('myjs', get_template_directory_uri().'/assets/js/custom-script.js');
wp_enqueue_script('myjs');
}
add_action('wp_enqueue_scripts','aristo_css_js');
这不起作用的主要问题是什么?
但是如果我在body
标记之前添加了自定义脚本代码,它就可以工作。
?
1楼
我通过在custom-script
之前添加jquery
文件来解决我自己的问题
wp_enqueue_script('jquery-main', get_template_directory_uri().'/assets/js/jquery-3.3.1.min.js');
wp_enqueue_script('myjs', get_template_directory_uri().'/assets/js/custom-script.js');
2楼
我希望这能解决你的问题
(function($) {
// Use $() inside of this function like so
$(#selector)
})(jQuery);
3楼
我曾经遇到过同样的问题。
WordPress 附带了自己版本的 jQuery 库。
尝试使用jQuery
而不是$
符号。
例如:
var svg = $("#svg-container");
应该替换为
var svg = jQuery("#svg-container");
4楼
尝试使用这个更新的 javascript 代码,
jQuery.noConflict(); (function(jQuery) { jQuery(document).ready(function(){ jQuery('#read_more').click(function() { jQuery('.display_none').show().animate({'transition': '2s'}); }); }); })( jQuery );
function aristo_css_js(){ wp_enqueue_script('jquery-main', get_template_directory_uri().'/assets/js/jquery-3.3.1.min.js'); wp_enqueue_script('myjs', get_template_directory_uri().'/assets/js/custom-script.js'); } add_action('wp_enqueue_scripts','aristo_css_js');
谢谢!