我想问一下如何显示跨度的输出。我总是空白,每当我警告txtNumber时,我就会在警告代码中得到“ object html span element”。
<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);
}
最佳答案
我想提两件事。
1)使用txtNumber.value,
时,它访问与txtNumber变量关联的元素的value属性。但是没有值属性。如果要访问span标记之间的内容(此处为字符串“数字”),则应使用txtNumber.innerHTML.
,这将返回span内的所有HTML内容。
2)接下来,您不能只将字符串添加到数字中,也不能将对象添加到数字中。我可以看到您使用了parseInt
,但是它用于将具有整数签名的字符串转换为整数数据类型。 (“ 5”转换为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)
替换它可以达到目的,并将它们添加为整数。