我正在学习JS的基础知识,我写了这个脚本,但它并没有像我预期的那样工作。它应该根据按钮点击来增加或减去标签内的值和标签内的值属性。
<!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>发布于 2011-06-20 07:47:46
首先,你应该像我所理解的那样描述不能工作的地方。
我认为<meter>标记内的值没有改变是问题所在。
我的解决方案是使用innerHTML
<!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>发布于 2011-06-20 07:47:27
您需要获取/设置元素的.innerHTML。
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;
}发布于 2011-06-20 07:45:18
更改以下内容
var t = parseInt(document.getElementById("prog"),10);至
var t = parseInt(document.getElementById("prog").value,10);https://stackoverflow.com/questions/6405758
复制相似问题