未从浏览器执行自定义JavaScript
我添加了一个自定义js文件,并将其放入我的child-theme-functions.php文件中。如果我声明了一个要测试的变量,并将其从文件本身记录下来,它就会工作。但是,如果我尝试从浏览器控制台执行相同的测试,我会得到一个引用错误。我尝试在页脚而不是页眉中加载脚本文件,但问题仍然存在。你知道会出什么问题吗 将js文件从functions.php排队未从浏览器执行自定义JavaScript,javascript,php,wordpress,wordpress-theming,Javascript,Php,Wordpress,Wordpress Theming,我添加了一个自定义js文件,并将其放入我的child-theme-functions.php文件中。如果我声明了一个要测试的变量,并将其从文件本身记录下来,它就会工作。但是,如果我尝试从浏览器控制台执行相同的测试,我会得到一个引用错误。我尝试在页脚而不是页眉中加载脚本文件,但问题仍然存在。你知道会出什么问题吗 将js文件从functions.php排队 function enque_custom_script() { if( is_page(146) ) {
function enque_custom_script() {
if( is_page(146) ) {
wp_enqueue_script( 'login-tabs', './js/login-tabs.js', array('jquery'), '',true);
}
}
add_action('wp_enqueue_scripts', 'enque_custom_script');
JavaScript测试(登录页面变量已成功登录到控制台。如果尝试从浏览器控制台再次调用它,则会出现引用错误)
尝试
constloginpage=document.getElementById('customer_login');在浏览器控制台中,如果(loginPage){console.log(loginPage);}
,它能工作吗?它能工作,但返回undefinedIt可能只是作用域的问题。您正在ready函数回调中定义loginPage const变量。你的浏览器使用全局名称空间,变量永远不会存在我猜是的,这就是问题所在。非常感谢。请尝试const loginPage=document.getElementById('customer_login');在浏览器控制台中,如果(loginPage){console.log(loginPage);}
,它能工作吗?它能工作,但返回undefinedIt可能只是作用域的问题。您正在ready函数回调中定义loginPage const变量。你的浏览器使用全局名称空间,变量永远不会存在我猜是的,这就是问题所在。非常感谢你。
jQuery(document).ready(function ($) {
const loginPage = document.getElementById('customer_login');
if (loginPage) {
console.log(loginPage);
}
});