console.log 在 $(document).ready(function() 时不工作
console.log not working when in $(document).ready(function()
好久没和 jQuery 一起工作了。现在,有了一个全新的项目,我的行为有些奇怪。
脚本加载顺序正确:
<script type='text/javascript' src='http://example.com/wp-includes/js/jquery/jquery.js?ver=1.12.4'></script>
some other scripts...
<script type='text/javascript' src='http://example.com/wp-content/themes/mytheme/myscript.js?ver=4.9.7'></script>
myscript.js
(function ($) {
console.log('logA');
console.log($.fn.jquery);
$(document).ready(function(){
console.log('logB');
console.log($.fn.jquery);
});
})(jQuery);
使用此代码,我希望有两个日志输出:
logA
1.12.4
logB
1.12.4
但是我只得到 logA
1.12.4
作为输出。
logB
未显示在控制台中,尽管我可以使用 $('#elem, .elem2')
.
访问 DOM-元素
这是怎么回事?
我也试过不使用匿名函数,结果报错$ is not a function
$(document).ready(function(){
console.log('logB');
});
jQuery-版本:1.12.4
检查你的 jQuery 文件是否正常工作,因为我试过了,但它与你提到的版本一起工作正常
通过评论,在@Rup 提出的观点之后,似乎脚本中的某些内容覆盖了 console.log
方法,因此它不再打印到控制台。要在您的脚本范围内解决此问题,您可以将 console.log 方法传递到您的 IIFE 中,以便它保留分配给日志的原始功能。
(function ($, log) {
log('logA');
log($.fn.jquery);
$(document).ready(function(){
log('logB');
log($.fn.jquery);
});
})(jQuery, console.log);
好久没和 jQuery 一起工作了。现在,有了一个全新的项目,我的行为有些奇怪。
脚本加载顺序正确:
<script type='text/javascript' src='http://example.com/wp-includes/js/jquery/jquery.js?ver=1.12.4'></script>
some other scripts...
<script type='text/javascript' src='http://example.com/wp-content/themes/mytheme/myscript.js?ver=4.9.7'></script>
myscript.js
(function ($) {
console.log('logA');
console.log($.fn.jquery);
$(document).ready(function(){
console.log('logB');
console.log($.fn.jquery);
});
})(jQuery);
使用此代码,我希望有两个日志输出:
logA
1.12.4
logB
1.12.4
但是我只得到 logA
1.12.4
作为输出。
logB
未显示在控制台中,尽管我可以使用 $('#elem, .elem2')
.
这是怎么回事?
我也试过不使用匿名函数,结果报错$ is not a function
$(document).ready(function(){
console.log('logB');
});
jQuery-版本:1.12.4
检查你的 jQuery 文件是否正常工作,因为我试过了,但它与你提到的版本一起工作正常
通过评论,在@Rup 提出的观点之后,似乎脚本中的某些内容覆盖了 console.log
方法,因此它不再打印到控制台。要在您的脚本范围内解决此问题,您可以将 console.log 方法传递到您的 IIFE 中,以便它保留分配给日志的原始功能。
(function ($, log) {
log('logA');
log($.fn.jquery);
$(document).ready(function(){
log('logB');
log($.fn.jquery);
});
})(jQuery, console.log);