jquery全局变量的问题

<script type="text/javascript">
$(function () {
var obj=$("#"+"insertsession"+1);

$("#insertcs").click(function(){
obj=$("#"+"insertsession"+2);
});

obj.click(function(){
document.firstform.submit();
});

});
</script>
obj的值在执行完$("#insertcs").click事件后,值没变化,还是var obj=$("#"+"insertsession"+1);的值,是怎么回事呀?

第1个回答  2014-03-24
$(function()
{
  window.obj = $("#"+"insertsession"+1);
  $("#insertcs").click(function()
  {
    window.obj = $("#"+"insertsession"+2);
  });
  obj.click(function()
  {
   document.firstform.submit();
  });
});

window.obj 设置全局变量obj。

在function里面var的变量都是局部变量。

第2个回答  推荐于2017-12-16

当然是一样的啊,

放到里面
$(function () {
    $("#insertcs").click(function(){ 
 obj=$("#"+"insertsession"+2);
    });
 }); 
 
 相当于:
$(function () {
    var obj=$("#"+"insertsession"+2);
    $("#insertcs").click(function(){ 
    });
 });
 不过最好还是用下面的,不要用全局的,出问题不好排查

本回答被提问者采纳
相似回答