数量大于1时变为复数

Make plural when quantity is greater than 1

我已经有了这个代码,但它没有按预期工作。

单词"piece"当数量大于1时应改为"pieces"

<span class="counter b">2 <span id="unitpcs"></span></span>

<script type="text/javascript">

var q = document.getElementsByTagName("span");
var a = myFunction(q.innerHTML);
document.getElementById("unitpcs").innerHTML = x;

function myFunction() {
if (a > 1) {
        x = "pieces";
    } else {
        x = "piece";
    }
}
</script>

目前,当数量等于一(1)件时,结果正确:1件。

如果数量变成二(2),则结果不正确:2件 正确的输出应该是“2 pieces”。

非常感谢任何解决方案。提前致谢!

  1. 您忘记指定 a 作为 myFunction() 的参数。
  2. 您忽略了 q 是两个 span 元素的数组。
  3. 您忽略了将 .innerHTML 转换为数字。

<span class="counter b">2 <span id="unitpcs"></span></span>

<script type="text/javascript">
var q = document.getElementsByTagName("span");
myFunction(parseFloat(q[0].innerHTML)); // first span, convert to number
document.getElementById("unitpcs").innerHTML = x;

function myFunction(a) {
if (a > 1) {
        x = "items";
    } else {
        x = "item";
    }
}
</script>