首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript中的函数

JavaScript中的函数
EN

Stack Overflow用户
提问于 2011-06-20 07:41:05
回答 4查看 121关注 0票数 0

我正在学习JS的基础知识,我写了这个脚本,但它并没有像我预期的那样工作。它应该根据按钮点击来增加或减去标签内的值和标签内的值属性。

代码语言:javascript
复制
<!DOCTYPE HTML>
<html>
<head>
<title>Meter</title>
<script type="text/javascript">
function f(a)
{
    document.getElementById("prog").value = document.getElementById("prog").value + a;
    var t = parseInt(document.getElementById("prog"),10);
    document.getElementById("prog") = t + a;
}
</script>
</head>
<body>
<form title="Meter">
<button type="button" onClick="f(-10);" >Subtract</button>
<button type="button" onClick="f(10);" >Add</button>
<meter  min="0" max="100" value="50" id="prog">50</meter>
</form>
</body>
</html>
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-06-20 07:47:46

首先,你应该像我所理解的那样描述不能工作的地方。

我认为<meter>标记内的值没有改变是问题所在。

我的解决方案是使用innerHTML

代码语言:javascript
复制
<!DOCTYPE HTML>
<html>
<head>
<title>Meter</title>
<script type="text/javascript">
function f(a)
{
    //changing the value
    document.getElementById("prog").value = document.getElementById("prog").value + a;
    //(next two lines) changing the innerHTML, which is the inner HTML of an element.
    var t = parseInt(document.getElementById("prog").innerHTML,10);
    //This makes t+a between 0 and 100.
    document.getElementById("prog").innerHTML = t+a<100?t+a>0?t+a:0:100;
}
</script>
</head>
<body>
<form title="Meter">
<button type="button" onClick="f(-10);" >Subtract</button>
<button type="button" onClick="f(10);" >Add</button>
<meter  min="0" max="100" value="50" id="prog">50</meter>
</form>
</body>
</html>
票数 0
EN

Stack Overflow用户

发布于 2011-06-20 07:47:27

您需要获取/设置元素的.innerHTML

代码语言:javascript
复制
function f(a)
{
    document.getElementById("prog").value = document.getElementById("prog").value + a;
    var t = parseInt(document.getElementById("prog").innerHTML, 10);
    document.getElementById("prog").innerHTML = t + a;
}
票数 1
EN

Stack Overflow用户

发布于 2011-06-20 07:45:18

更改以下内容

代码语言:javascript
复制
var t = parseInt(document.getElementById("prog"),10);

代码语言:javascript
复制
var t = parseInt(document.getElementById("prog").value,10);

工作版本> http://jsfiddle.net/6wJGt/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6405758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档