You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JavaScript对含指定类名的所有元素的innerHTML做slice/substring截取

错误原因
  • document.getElementsByClassName('demo') 返回的是类数组的HTMLCollection集合,不是单个DOM元素,直接访问集合的innerHTML属性必然返回undefined,需要通过循环索引[i]获取到单个元素后再操作属性。
  • 仅调用slice()方法不会修改原字符串,你没有把截取后的结果重新赋值给元素的innerHTML,操作不会生效。
修正后代码
const demoElements = document.getElementsByClassName('demo');
for (let i = 0; i < demoElements.length; i++) {
  const originalText = demoElements[i].innerHTML;
  demoElements[i].innerHTML = originalText.slice(0, 9);
}
补充说明:slice与substring的区别

你当前的使用场景下两者效果完全一致,核心差异仅在传入负数参数时:

  • slice() 会把负数参数识别为从字符串末尾倒推的位置,例如slice(-2)表示取最后2个字符
  • substring() 会自动把负数参数转为0,例如substring(-2)等价于substring(0),返回完整字符串

内容的提问来源于stack exchange,提问作者Gillian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 13:15:08