数量大于1时复数

时间:2018-09-25 09:09:48

标签: pluralize

我已经有此代码,但无法正常工作。

当数量大于1时,单词“件”应更改为“件”。

<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件”。

任何解决方案均受到高度赞赏。预先感谢!

1 个答案:

答案 0 :(得分:1)

  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>