我定义了以下函数:
function handleMessageDot(fun) {
domElement.classList.fun('hidden');
}
现在我想使用其中之一:
handleMessageDot(add)
,handleMessageDot(remove)
。
我收到 remove is not defined
错误。我认为这是因为remove() 和add() 函数是classList 方法。
我现在可以做以下事情:
function handleMessageDot(domElement, fun) {
domElement.classList.fun('hidden');
}
但我不想那样做。 有没有办法按照“我的”方式做?
当尝试使用单独变量的值访问对象的属性时,您需要使用数组表示法:
function handleMessageDot(domElement, fun) {
domElement.classList[fun]('hidden');
}
handleMessageDot(document.querySelector('.hidden'), 'remove');
.hidden {
display: none;
}
<div class="hidden">
Lorem ipsum
</div>