我要问如何显示输出到span。我总是空白,每当我提醒txtNumber我得到"对象html span元素"在警报代码上。
<span id="displayQty"> number </span>
<input id="btnAdd" type="button" value="+" onclick="add2()" />
脚本
function add2() {
var txtNumber = document.getElementById("displayQty");
var number = parseInt(txtNumber.value) + 1;
txtNumber.value = number;
alert(displayQty.value);
}
答案 0 :(得分:1)
我想提两件事。
1)使用txtNumber.value,
时,它访问与txtNumber变量关联的元素的value属性。但是没有价值属性。如果您想访问span标记之间的内容(这里是字符串&#39;数字&#39;),您应该使用txtNumber.innerHTML.
这将返回您的范围内的所有HTML内容。
2)接下来,你不能只是将一个字符串添加到一个数字,一个对象添加到一个数字。我可以看到你使用了parseInt
`但它用于将带有整数签名的字符串转换为整数数据类型。 (&#34; 5&#34;转换为5)。
试试这个 -
<html>
<body
<input id="btnAdd" type="button" value="+" onclick="add2()" />
<span id="displayQty">1</span>
<script>
function add2() {
var txtNumber = document.getElementById("displayQty");
var number = parseInt(txtNumber.innerHTML.trim()) + 1;
txtNumber.innerHTML = number;
}
</script>
</body>
</html>
如果您用
替换var number = parseInt(txtNumber.innerHTML.trim()) + 1;
var number = txtNumber.innerHTML + 1;
它会将两个数字添加为字符串,输出为11。但是用var number = txtNumber.innerHTML - (-1)
替换它可以解决问题并将它们添加为整数。