javascript - TypeError:c.match 不是函数
问题描述
当我尝试此代码时,我收到TypeError: c.match is not a function in the browser search console。我在哪里犯错?
(function() {
function addIcon(el, entity) {
var html = el.innerHTML;
el.innerHTML = '<span style="font-family: \'B3-Line-Icons\'">' + entity + '</span>' + html;
}
var icons = {
'b3icon-scale': '',
'b3icon-file-text': '',
'b3icon-skyscraper': '',
'b3icon-girl': '',
'0': 0
},
els = document.getElementsByTagName('*'),
i, c, el;
for (i = 0; ; i += 1) {
el = els[i];
if(!el) {
break;
}
c = el.className;
c = c.match(/b3icon-[^\s'"]+/);
if (c && icons[c[0]]) {
addIcon(el, icons[c[0]]);
}
}
}());
解决方案
el.className 可能未定义(或不是字符串)。
推荐阅读
- three.js - 三个JS在知道原点和距离的平面上找到一个点
- python - urllib.error.HTTPError: HTTP Error 403: Forbidden in my web scraping
- php - 如何使用 Algolia Instantsearch 获得随机结果
- esp8266 - 波特率更改后 ESP8266 不工作
- node.js - 如何在 reactjs 中更新我的评论数组?
- python - 堆叠和重塑 Numpy 数组
- powershell - Powershell 让 IE 自动化 | 填写付款表格问题
- recursion - 如何在递归更改可变结构时避免克隆部分
- macos - 您可以通过 PassKit 为非 Mac App Store 应用程序集成 Apple Pay 吗?
- html - Wordpress 下载属性不强制 PDF 下载