javascript 如何传递一个参数,该参数决定是向元素中添加类还是从元素中移除类

bz4sfanl  于 2023-04-28  发布在  Java
关注(0)|答案(2)|浏览(117)

我调用了一个接受一个值的方法,然后这个值决定是否添加或删除classList。
在下面的代码中,如果你传递“add”给test方法,它应该添加classList,如果你传递“remove”,它应该删除它。
下面的代码不起作用。

test (val) {
    const fileName = document.querySelector('.file-name')
    const fileSize = document.querySelector('.file-size')
    const updatedAt = document.querySelector('.uploaded-at')

    fileName.classList.val('line-through', 'text-gray-400')
    fileSize.classList.val('line-through', 'text-gray-400')
    updatedAt.classList.val('line-through', 'text-gray-400')
}

ex)test('remove ')应该删除classList,test('add')应该添加它

2admgd59

2admgd591#

您可以使用方括号表示法访问作为表达式结果计算的对象的属性。在你的特殊情况下:

fileName.classList[val]('line-through', 'text-gray-400')
fileSize.classList[val]('line-through', 'text-gray-400')
updatedAt.classList[val]('line-through', 'text-gray-400')
s4n0splo

s4n0splo2#

使用toggle()方法,该方法接受一个布尔值作为可选参数,以指定是添加还是删除类。

filename.classList.toggle('line-through', val == "add");
filename.classList.toggle('text-gray-400', val == "add");

相关问题