猿问

初学初用,请大佬帮忙看下是什么问题,谢谢了

//以下为添加切换按钮,功能为去除标点符号和恢复
var rpl = document.getElementsByClassName('pages');
var x = 0;
function no_punc() {
 x++;
 for (var y = 0; y <= rpl.length; y++) {
  if (x % 2 != 0) {
   rpl[y].old = rpl[y].innerHTML;
   rpl[y].new = rpl[y].innerHTML.replace(/[\,|\。|\、|\:|\;]/g, ' ');
   rpl[y].innerHTML = rpl[y].new;
  } else {
   rpl[y].innerHTML = rpl[y].old;
  }
 }
}

如上实现的功能是一个按钮切换去除标点符号和恢复原状,功能是实现了,但是浏览器调试的时候会提示“pages”是许多大段落。

“Uncaught TypeError: Cannot read property 'innerHTML' of undefined
    at no_punc”。

再if和else最后加上“return rpl[y].old”之后不会提示错误,但会导致只替换第一段,其他段落没有效果

慕瓜0564237
浏览 761回答 1
1回答

慕莱坞1975833

数组下标越界y <= rpl.length,for循环多了个=号
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答