首页 > 解决方案 > Javascript 更新数组中的文本

问题描述

我正在尝试更新单击事件的文本,但不知何故,foreach 的索引总是给我第一次迭代 0,我错过了什么:

var sliderTitles = document.getElementsByClassName('avia-caption-title');
var nextSlideBtns = document.getElementsByClassName('next-slide');
var prevSlideBtns = document.getElementsByClassName('prev-slide');

for (var i=0; i < nextSlideBtns.length; i++) {
    nextSlideBtns.item(i).onclick = setBtnNames();
}

setBtnNames();

function setBtnNames() {
    console.log("clickedd");
    Array.from(nextSlideBtns).forEach(
        function(element, index, array) {
            console.log(index); // always returns 0
            if(index == 5) {
                element.innerHTML = sliderTitles[0].innerHTML;
            } else {
                element.innerHTML = sliderTitles[index+1].innerHTML;    
            }
        }
    );
}

标签: javascript

解决方案


推荐阅读