jquery在单击时为全局变量赋值

jquery在单击时为全局变量赋值,jquery,Jquery,如何获取分配给全局变量的方案id。现在,在控制台中,它将打印空字符串。怎么办 var scenario_id = ""; $('.edit_class').click(function() { scenario_id = $(this).attr('value'); }); console.log(scenario_id); scenario\u id的值仅在单击事件时分配。您的console.log()在分配处理程序之后,但在用户单击edit\u class之前正

如何获取分配给全局变量的方案id。现在,在控制台中,它将打印
空字符串
。怎么办

  var scenario_id = "";
  $('.edit_class').click(function() {

    scenario_id = $(this).attr('value');
  });

  console.log(scenario_id);

scenario\u id
的值仅在单击事件时分配。您的
console.log()
在分配处理程序之后,但在用户单击
edit\u class
之前正在运行,因此该值将是
未定义的
。尝试此操作以查看更新后的
场景\u id

var scenario_id = "";
$('.edit_class').click(function() {
    scenario_id = $(this).attr('value');
    console.log(scenario_id);
});

它可以帮助您阅读解释javascript变量范围的答案。

只有在单击事件时才会指定
场景id
的值。您的
console.log()
在分配处理程序之后,但在用户单击
edit\u class
之前正在运行,因此该值将是
未定义的
。尝试此操作以查看更新后的
场景\u id

var scenario_id = "";
$('.edit_class').click(function() {
    scenario_id = $(this).attr('value');
    console.log(scenario_id);
});

它可以帮助您阅读解释javascript变量作用域的答案。

它应该打印一个空字符串而不是未定义的编辑,因为只有在单击
编辑类后,
场景id
的值才会更改。您正在更改值之前记录它。您需要将控制台stmt移动到回调方法。它应该打印一个未取消定义的空字符串,因为只有在单击
编辑类后,
场景id
的值才会更改。您正在更改值之前记录它。您需要将控制台stmt移动到callback method,但我想通过在全局范围中定义变量来将其分配给不在函数范围内的全局变量它将是全局的,无论在何处设置值。但我希望通过在全局范围中定义变量,将其分配给不在函数范围内的全局变量。无论在何处设置值,它都将是全局变量。