我有这段代码试图更改全局变量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)。谁能告诉我,请告诉我哪里出错了?
感谢。
答案 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。
一个简单的解决方案是将该行放在处理程序中。