Jquery 尝试更改全局变量的值
我有一段代码试图更改全局变量Jquery 尝试更改全局变量的值,jquery,variables,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-co
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)。谁能告诉我,请告诉我哪里出了问题?
谢谢。您有一个#iPad click处理程序,可以更改iPad变量的值,但您的以下代码不在同一个处理程序中
document.getElementById("res").innerHTML = ipad;
因此,元素“res”的值将是初始值,即“0”
若要在单击后设置此元素的值,请将该行代码复制到click handler中
$("#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;
});
这是JSFIDLE
希望这有帮助 您有一个#iPad click处理程序,可以更改iPad变量的值,但您的以下代码不在同一个处理程序中
document.getElementById("res").innerHTML = ipad;
因此,元素“res”的值将是初始值,即“0”
若要在单击后设置此元素的值,请将该行代码复制到click handler中
$("#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;
});
这是JSFIDLE
希望这有帮助 这一行:
document.getElementById("res").innerHTML = ipad;
在您单击ipad按钮之前,文档准备就绪时正在运行,即:单击处理程序尚未运行(单击按钮时将运行该处理程序),因此在您将其设置为res
的html内容时,ipad
变量仍然为0
一个简单的解决方案是将这一行放在处理程序中。这一行:
document.getElementById("res").innerHTML = ipad;
在您单击ipad按钮之前,文档准备就绪时正在运行,即:单击处理程序尚未运行(单击按钮时将运行该处理程序),因此在您将其设置为res
的html内容时,ipad
变量仍然为0
一个简单的解决方案是将该行放在处理程序中。顺便说一句,ipad
并不是真正的全局性。它仍然在你的ready
功能范围内。顺便说一句,ipad
并不是真正的全球性的。它仍然在您的ready
功能的范围内谢谢,但我希望ipad var保持全局性,因为我希望稍后将此值添加到另一个值中。我怎样才能解决这个问题?还有其他帮助吗?谢谢,但我希望ipad var保持全球化,因为我想在以后将此值添加到另一个值中。我怎样才能解决这个问题?还有其他帮助吗?谢谢,但我希望ipad var保持全球化,因为我想在以后将此值添加到另一个值中。我怎样才能解决这个问题?任何其他帮助?ipad
仍然是“全局的”(在ready函数的范围内),因为它是在click处理程序之外定义的。当您知道设置了正确的值时(即:当您确定用户已经单击了#ipad
),您只需小心使用变量。谢谢,但我希望ipad var保持全局性,因为我希望稍后将此值添加到另一个值中。我怎样才能解决这个问题?任何其他帮助?ipad
仍然是“全局的”(在ready函数的范围内),因为它是在click处理程序之外定义的。当您知道设置了正确的值时(即:当您确定用户已经单击了#ipad
),您只需小心使用变量即可。