snakeser
snakeser
采纳率60%
2017-04-13 09:04

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条回答

  • u010715243 梦昼初PurpleShell 4年前

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

    点赞 评论 复制链接分享
  • showbo GoCityPass新加坡曼谷通票 4年前

    你是点击了才给a赋值。。此时$("h1").html(a);早已经执行过了,当然没有反应,放click里面去

            $("button").click(function(){
                a = 2;
            $("h1").html(a);////
            });
    
    点赞 1 评论 复制链接分享
  • xiaogezl xiaogezl 4年前

    1楼说的对(手动滑稽)

    点赞 评论 复制链接分享
  • iOS060302 060302 4年前

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

    点赞 评论 复制链接分享
  • qq_33623276 qq_33623276 4年前

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

    点赞 评论 复制链接分享
  • Ni_dhogg Ni_dhogg 4年前

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

    点赞 评论 复制链接分享

相关推荐