首页 > 解决方案 > 通过js添加类

问题描述

我检查了一些关于同一件事的问题,但它们没有帮助我。这是我的代码,这里有什么问题?它确实正确添加了类,但没有在网站上显示更改。

//html
<div class="days"></div>

        //css
        .AddedClass {
        background-color: #27ae60;
        color: #fff;
        }

        //js
    let today = new Date();
    let endDate = new Date(
                dt.getFullYear(),
                dt.getMonth() + 1,
                0
            ).getDate();

    let cells = "";
    for (let i = 1; i <= endDate; i++) {
                if (!(i === today.getDate() && dt.getMonth() === today.getMonth() && dt.getFullYear() === today.getFullYear())) {
                    cells += `<div onclick='dayChanger(this);' data-value='${i}'>${i}</div>`;
                } else {
                    cells += `<div class='today' onclick='dayChanger(this);' data-value='${i}'>${i}</div>`;
                }
            }


    document.getElementsByClassName("days")[0].innerHTML = cells;

        function dayChanger(obj) {
            obj.classList.add('AddedClass');
            dt.setDate(obj.getAttribute('data-value'));
        }

标签: javascriptcssclass

解决方案


这是您的代码的简化和工作版本

function classAdding(obj) {
  obj.classList.add('today');
}
.today {
  background-color: #27ae60;
  color: #fff;
}
<div onclick="classAdding(this)">something</div>


推荐阅读