尝试从类';获取值时;。o#u值';在jquery内部执行var val并打印,可以正常工作,但在jquery外部,无法获取值

尝试从类';获取值时;。o#u值';在jquery内部执行var val并打印,可以正常工作,但在jquery外部,无法获取值,jquery,Jquery,我已经尝试了下面的代码,但它似乎不工作,请通过下面的代码 var val = 0; jQuery(document).ready(function() { var val = jQuery(".o_value input").val(); // for example value in class is 5 val = parseInt(val); console.log(val); // works fine and it prints value- 5, w

我已经尝试了下面的代码,但它似乎不工作,请通过下面的代码

var val = 0;
jQuery(document).ready(function() {
  var val = jQuery(".o_value input").val(); // for example value in class is 5

  val = parseInt(val);
  console.log(val); // works fine and it prints value- 5, which is correct
});
console.log(val); // outside jquery it does not print 5, why??.. pls advise
我需要做些什么来修复这个问题。

在DOM完全构建之前,“就绪”处理程序中的代码不会执行。当遇到处理程序之外的代码时,它将立即运行

因此,您的第二个
console.log(val)(在“就绪”处理程序之外)在处理程序中的代码之前运行,此时全局变量(在您的示例中为
val
)尚未初始化,因此其返回未定义的值


所以答案是否定的,你不能。这就是它的工作原理。

您的文档中有多少个带有
o\u值输入的元素
类名?运行此脚本时,是否可能未加载具有此类的元素或该元素还没有值?