WordPress中的jQuery与控制台中的jQuery不同

时间:2018-07-26 09:55:20

标签: javascript jquery wordpress

我想运行一个js / jQuery脚本,该脚本在某些wordpress页面上隐藏某个类的元素。在控制台中键入它们时可以隐藏它们:

jQuery('div.pretty > long > selector').hide()

脚本看起来像这样:

jQuery(document).ready(function($){

    $('div.pretty > long > selector').hide(0, console.log('hidden!'))

})

自从我收到控制台日志回调以来,它似乎已执行,但是元素并未隐藏。

我也尝试了以下方法,但结果相同:

jQuery(document).ready(function(){

    jQuery('div.pretty > long > selector').hide(0, console.log('hidden!'))

})

任何有关如何解决此问题的提示都非常感谢!

1 个答案:

答案 0 :(得分:0)

首先,确保您将脚本入队,并告诉WordPress它需要jQuery。可以在主题的functions.php内部(如果主题不是自定义主题,请先创建一个子主题)或在插件内部进行以下操作:

function enqueue_jquery_scripts() {
    wp_enqueue_script( 'your-script', get_stylesheet_directory_uri() . '/js/your_script.js', array( 'jquery' ) );
}

add_action( 'wp_enqueue_scripts', 'enqueue_jquery_scripts' );

接下来,请确保您使用jQuery而不是$的简写,因为WordPress捆绑的jQuery在noconflict模式下运行。

更新:如果确实通过AJAX加载了元素,则可以使用document.ready()代替document.ajaxComplete()

jQuery(document).ajaxComplete(function(){
  // blah
}