我想问一下如何显示跨度的输出。我总是空白,每当我警告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)替换它可以达到目的,并将它们添加为整数。

07-28 10:56