渴了可乐 2022-03-31 17:02 采纳率: 100%
浏览 232
已结题

关于js给元素添加类名失效的问题

用js给ol中li加相同的current,结果前面的类名失效了
for (var i = 0; i < ul.children.length; i++) {
    var li = document.createElement('li');
    li.setAttribute('index',i);
    ol.appendChild(li);
    li.addEventListener('click', function () {
        for (var i = 0; i < ul.children.length; i++) {
            ol.children[i].className = '';
        }
        this.className = 'current';
        var index = this.getAttribute('index');
        num = circle = index;
        animat(ul, - index * focusWidth);
    })
}
ol.children[0].className = 'current';
var cloneFirst = ul.children[0].cloneNode(true);
ul.appendChild(cloneFirst);
var num = 0
var circle = 0;
arrow_r.addEventListener('click', function () {
    if (num == ul.children.length - 1) {
        ul.style.left = 0;
        num = 0;
    }
    num++;
    animat(ul, -num * focusWidth);
    circle++;
    if (circle == ol.children.length){
        circle = 0;
    }
    for (var i = 0; i < ol.children.length; i++) {
        ol.children[i].className = '';
    }
    ol.children[i].className = 'current';
})

img

  • 写回答

3条回答 默认 最新

  • 你好!机器人 2022-03-31 17:10
    关注

    你打印下哪里的className有问题

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 乂 。乂。乂。乂 2022-03-31 17:16
    关注

    添加:节点.classList.add("类名");
    删除:节点.classList.remove("类名");

    ol.children[0].className = 'current';// 这样会把所有的class 清除掉
    如果对你有帮助的话,麻烦给个采纳啊,非常感谢

    评论
  • 全栈小5 全栈领域优质创作者 2022-03-31 17:30
    关注

    1、原因
    这里应该是获取点击的小标志,然后给当前点击加class
    var index = this.getAttribute('index');

    img

    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月8日
  • 已采纳回答 3月31日
  • 创建了问题 3月31日

悬赏问题

  • ¥15 咨询第六届工业互联网数据创新大赛原始数据
  • ¥15 Pycharm无法自动补全,识别第三方库函数接收的参数!
  • ¥15 STM32U575 pwm和DMA输出的波形少一段
  • ¥30 android百度地图SDK海量点显示标题
  • ¥15 windows导入environment.yml运行conda env create -f environment_win.yml命令报错
  • ¥15 这段代码可以正常运行,打包后无法执行,在执行for内容之前一直不断弹窗,请修改调整
  • ¥15 C语言判断有向图是否存在环路
  • ¥15 请问4.11到4.18以及4.27和4.29公式的具体推导过程是怎样的呢
  • ¥20 将resnet50中的卷积替换微ODConv动态卷积
  • ¥15 通过文本框输入商品信息点击按钮将商品信息列举出来点击加入购物车商品信息添加到表单中