试图改变全局变量的值

时间:2016-02-22 15:28:44

标签: jquery variables

我有这段代码试图更改全局变量ipad

$(document).ready(function() {
    "use strict";
    var ipad=0;
    var android=0;
    var windows=0;

    $("#ipad").click(function() {
        ipad=10;
        android=0;
        windows=0;
        $("#ipad").css('background-color','#C30');
        $("#android").css('background-color','#0C0');
        $("#windows").css('background-color','#0C0');
        $("#not_important").css('background-color','#0C0');
    });

    document.getElementById("res").innerHTML = ipad;
});

但是当我点击ipad按钮时,我无法获得所需的结果(10)。谁能告诉我,请告诉我哪里出错了? 感谢。

2 个答案:

答案 0 :(得分:0)

您有一个#iPad点击处理程序,可以更改iPad变量的值,但您的以下代码不在同一个处理程序中

document.getElementById("res").innerHTML = ipad;

所以你的元素“res”值将是初始值,即“0”,

如果要在单击后设置此元素的值,则将该行代码复制到单击处理程序中。

$("#ipad").click(function(){
            ipad=10;
            android=0;
            windows=0;
           $("#ipad").css('background-color','#C30');
            $("#android").css('background-color','#0C0');
           $("#windows").css('background-color','#0C0');
           $("#not_important").css('background-color','#0C0');
           document.getElementById("res").innerHTML = ipad;
    });

这是Jsfiddle example

希望这有帮助!

答案 1 :(得分:0)

这一行:

document.getElementById("res").innerHTML = ipad;

在文档准备就绪时运行,然后单击ipad按钮,即:单击处理程序尚未运行(单击按钮时将运行),因此ipad变量,在您将其设置为res的html内容时,仍为0。

一个简单的解决方案是将该行放在处理程序中。

相关问题