【问题标题】:How to pass the value of an innerHTML element to a global variable?如何将 innerHTML 元素的值传递给全局变量?
【发布时间】:2013-02-28 14:56:26
【问题描述】:

Javascript/HTML5 新手,如果术语没有意义,敬请见谅

如何将全局变量设置为与一个函数中的 innerHTML 元素具有相同的值(最好是 int 或 double),然后使用全局变量来控制另一个函数中的循环?

我正在尝试设置一个循环,只要 innerHTML 元素“avgSpeed”在 0 到 60 之间,它就会每秒计数一次。 有两个函数,一个是填充元素,第二个是循环。我无法让循​​环使用从第一个函数的元素中读取的值。

在第一个函数中,我填充了元素“avgSpeed”:

document.getElementById("avgSpeed").innerHTML = (responseObj.average_speed!=undefined)?responseObj.average_speed: "Not available";

这很好,如果我在 HTML 文件中打印元素,页面将显示我的 avgSpeed(例如:30 或 40,不显示为 30.0 或 40.0)

我尝试了以下方法:var miles 是我正在使用的全局变量

miles=document.getElementById("avgSpeed").innerHTML;
miles=parseInt(document.getElementById("avgSpeed").innerHTML);

我只是无法将“avgSpeed”链接到一个全局变量以用作循环控制。 谢谢!

【问题讨论】:

  • 循环在哪里?变量在哪里定义?您何时/如何访问变量?由于这是一个范围问题,因此发布您的确切设置很重要。
  • 循环在另一个函数中,与 avgSpeed 分开。 Var 里程定义在任何函数之外,因此是一个全局变量。
  • 看看这里有没有什么提示你的解决方法:stackoverflow.com/questions/2291252/javascript-global-variables

标签: javascript variables global innerhtml getelementbyid


【解决方案1】:

是的,您可以将 innerHTML 的值传递给全局变量... 示例代码

`

<!DOCTYPE html>
<html>
<head>
<script>
function getValue() 
{ 
var x = parseInt(document.getElementById("myHeader").innerHTML);  
x=x+3;  
alert(x);  
}
</script>
</head>
<body>
<h1 id="myHeader" onclick="getValue()">123</h1>
</body>
</html>`

希望对你有帮助!

【讨论】:

  • 这个代码的 var x 是否是全局的,即使它是在函数 getValue 中定义的?我试过:miles = parseInt(document.getElementById("avgSpeed").innerHTML);函数外定义的英里数
  • 嘿,为什么不把它附加到窗口对象上呢?并参考此stackoverflow.com/questions/6601222/…
猜你喜欢
  • 2014-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多