jquery需要单词Jquery而不是$

Gra*_*y D -1 javascript wordpress jquery

我正在研究一个WordPress主题,我已经包含了Jquery,

    // Waves
    wp_enqueue_style( 'APKMirror-wave', get_template_directory_uri() . '/inc/waves/waves.min.css');
    wp_enqueue_script(
        'APKMirror-wave',
        get_stylesheet_directory_uri() . '/inc/waves/waves.min.js',
        array( 'jquery' )
    );

    // Boostrap
    wp_enqueue_style( 'APKMirror-Bootstrap', get_template_directory_uri() . '/inc/bootstrap/bootstrap.min.css');
    wp_enqueue_script(
        'APKMirror-Bootstrap',
        get_stylesheet_directory_uri() . '/inc/bootstrap/bootstrap.min.js',
        array( 'jquery' )
    );
Run Code Online (Sandbox Code Playgroud)

问题是我运行jQuery代码时必须输入单词'jQuery'而不是仅使用$.如何更改我的代码以便使用$?

Nat*_*son 5

WordPress中的jQuery在noConflict模式下运行,这意味着jQuery的全局$快捷方式不可用.使用文档就绪包装器,它将允许$用作jQuery的别名.

jQuery(document).ready(function($) {
    // Inside here $ can be used instead of jQuery.
});
Run Code Online (Sandbox Code Playgroud)

要么

(function($) {
    // Use $ here.
})(jQuery);
Run Code Online (Sandbox Code Playgroud)

感谢Paulpro正确地指出,如果您需要在其余DOM加载之前运行脚本,可以使用替代方法.

  • -1,因为您假设OP的脚本应该等到DOM准备好运行.在其余DOM开始加载之前,某些脚本很重要.如果你展示了一个不等到DOM准备运行的替代方案,比如`(function($){//使用$ here})(jQuery);`,我会将-1切换为+1 . (2认同)