解决:Cannot read property 'split' of undefined or $ is not a function

纠结于两个问题,连续几天没睡好,搞的我这两天精神萎靡臭保安都没当好。
问题1:Cannot read property ‘split’ of undefined
问题2:$ is not a function
平台:wamp
程序:wordpress
问题2先出现的,开始并没有当回事儿,$不能用那就用jQuery就好了,忍了。可是问题1的出现直接影响了网站最终的用户体验,找了两天的相关资料,国内外如出一辙的解决办法是先判断split的那个变量是否存在,如果存在,再split,如果不存在就false了。尝试做了各种判断,然并卵,问题依旧。本想重新开发个新的可以实现效果的方法,又遇到出现了问题2,神TM烦,尝试修复问题2。
因为用的是wordpress,其调用jquery的代码是在functions.php中的一句wp_enqueue_script('jquery')
(不是我用的,是我抄别人的他就这么调的,这个缺货可能就喜欢用jQuery不喜欢用$),调用的路径是wp-includes/js/jquery/jquery.min.js,问题就出现在这,把这句调用代码注销掉然后调用自定义的jquery就好了,让我惊喜的是问题1也解决了。到底是jquery的版本问题还是什么什么就不深究了,跟我没关系,我只想解决问题。
处理方法:
1、 在functions.php中去除已注册的 jquery 脚本
//禁止加载WP自带的jquery.js
if ( !is_admin() ) { // 后台不禁止 function my_init_method() { wp_deregister_script( 'jquery' ); // 取消原有的 jquery 定义 } add_action('init', 'my_init_method'); } wp_deregister_script( 'l10n' );
2、在functions.php中注册自定义的jquery脚本
wp_enqueue_script( 'jquery', CHILD_STATIC_URI . '/static/js/libs/jquery.min.js', array(), THEME_VER, true);
这里就不一一赘述wp_enqueue_scrip中的参数了,用法网上有很多,随便搜一下就N多了。
END,终于可以好好睡一觉了。