在main.js
中,我定义了以下内容:
console.log("hello");
$(window).on('load', function() {
$('.svg-inline').each(function() {
var $img = jQuery(this);
var imgID = $img.attr('id');
var imgClass = $img.attr('class');
var imgURL = $img.attr('src');
jQuery.get(imgURL, function(data) {
var $svg = jQuery(data).find('svg');
if (typeof imgID !== 'undefined') {
$svg = $svg.attr('id', imgID);
}
if (typeof imgClass !== 'undefined') {
$svg = $svg.attr('class', imgClass + ' replaced-svg');
}
$svg = $svg.removeAttr('xmlns:a');
if (!$svg.attr('viewBox') && $svg.attr('height') && $svg.attr('width')) {
$svg.attr('viewBox', '0 0 ' + $svg.attr('height') + ' ' + $svg.attr('width'))
}
$img.replaceWith($svg);
}, 'xml');
});
});
在functions.php
中,我像这样排队main.js
:
function enqueue_assets() {
wp_enqueue_script('main_js', get_stylesheet_directory_uri().
'/assets/src/js/main.js', array('jquery'));
wp_enqueue_script('jquery');
}
add_action("wp_enqueue_scripts", "enqueue_assets");
JQuery是WordPress核心的一部分,因此不确定为什么会收到main.js?ver=5.2.1:3 Uncaught TypeError: $ is not a function
错误吗?