首页 > 解决方案 > .contains() 在循环时不接受数组元素作为参数

问题描述

我正在循环浏览 HTML 元素并检查它们是否包含我的意大利语月份数组的元素。问题是当我尝试使用月 [i] 访问数组元素时,什么也不返回,当我写例如月 [2] 时,它返回 true。我认为包含月份 [i] 是不可接受的。有人解决。我的代码在下面。谢谢。

const months = ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"];


for(i = 0; i < tdCellBody.length; i++){
        if(tdCellBody[i].classList.contains(months[i])) {
            console.log(true);
        } else {
            console.log(false);
        }
    }

标签: javascriptarrayscontains

解决方案


此示例仅使用一个节点来检查一组给定值。

var months = ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"],
    node = document.getElementById('div1'),
    j;

for (j = 0; j < months.length; j++) {
    console.log(months[j], node.classList.contains(months[j]));
}
<div id="div1" class="Marzo Maggio"></div>


推荐阅读