如何修改JavaScript函数以隐藏值为0的.age-count元素内容
修改俄语年龄变尾函数,实现值为0时隐藏内容
原代码可给.age-count元素中的数字添加俄语名词变尾(год/года/лет),但需调整逻辑,让值为0的元素不显示任何内容。以下是修改后的实现:
修改后的代码
const elements = document.querySelectorAll('.age-count') elements.forEach(function(el) { const count = el.textContent.trim(); const numCount = Number(count); // 数值为0时清空元素内容 if (numCount === 0) { el.textContent = ''; return; } const title = declination(numCount, [' год', ' года', ' лет']) const age = count + title el.textContent = age }) function declination(number, titles) { const cases = [2, 0, 1, 1, 1, 2]; return titles[(number % 100 > 4 && number % 100 < 20) ? 2 : cases[(number % 10 < 5) ? number % 10 : 5]]; }
关键修改说明
- 处理空格干扰:用
trim()去除数字前后的空格,避免意外空格导致转数字失败 - 精准数值判断:将文本内容转为数字类型,准确识别值为0的情况
- 0值专属逻辑:若数值为0,直接清空元素内容并终止当前元素的后续处理
- 修复变量污染:给
declination函数内的cases添加const声明,避免全局变量被意外修改
内容的提问来源于stack exchange,提问作者rybakovluka
相关产品推荐
相关产品推荐

