snakeser
2017-04-13 09:04
采纳率: 60%
浏览 1.7k

jq无法修改全局变量的问题,还请大神指点一二

 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script type="text/javascript" src="jquery-3.1.1.js"></script>
    <script>
    $(document).ready(function(){
        var a;
        $("button").click(function(){
            a = 2;
        });
        $("h1").html(a);
    });
    </script>
</head>
<body>
<h1>测试</h1>
<button>开始</button>
</div>
</body>
</html>

click事件不是触发了a=2这一赋值操作吗?可为什么a还是没有赋值?求大神指教ORZ

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • 梦昼初PurpleShell 2017-04-14 02:59
    已采纳

    你的代码实际上a的值在点击后已经发生变化了,只是没有展现到页面上,在点击事件里再加上$("h1").html(a);就好了

    已采纳该答案
    打赏 评论
  • 你是点击了才给a赋值。。此时$("h1").html(a);早已经执行过了,当然没有反应,放click里面去

            $("button").click(function(){
                a = 2;
            $("h1").html(a);////
            });
    
    打赏 评论
  • Ni_dhogg 2017-04-13 15:44

    同上,建议题主打个断点调试看看执行顺序.

    打赏 评论
  • qq_33623276 2017-04-14 03:51

    $(document).ready(function(){
    var a;
    $("button").click(function(){
    a = 2;
    $("h1").html(a);
    });
    });

    打赏 评论
  • 060302 2017-04-14 08:03

    $("h1").html(a); //只会执行一次, 程序不会监测a值的变化和刷新
    $("button").click(function(){
    a = 2;
    }); // 每次点击都会执行

    打赏 评论
  • xiaogezl 2017-04-21 10:53

    1楼说的对(手动滑稽)

    打赏 评论

相关推荐 更多相似问题