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

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

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

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

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

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

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

1楼说的对(手动滑稽)

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问