是否有任何原生JavaScript函数允许在元素上切换样式(不是类)?在香草中切换风格
到目前为止,我使用这种脚本:
target.addEventListener('click', (e) => {
target.classList.toggle('target--is-visible')
}
由风格继:
target {
visibility: hidden;
&--is-visible {
visibility: visible;
}
}
而且我喜欢被允许这样做:
target.addEventListener('click', (e) => {
target.style.toggle.visibility = 'visible'
}
编辑
Ternary Operator是最接近的就是我正在寻找的可读性的任期。
而受@GuyWhoKnowsStuff发送的功能使用三元运算符,值得分享:
const div = document.querySelector('div');
function toggleStyle(el, prop, style1, style2) {
el.style[prop] = el.style[prop] === style1 ? style2 : style1;
}
div.addEventListener('click', e => {
toggleStyle(div, 'background', 'red', 'blue');
});
谢谢您的回答!
你可以尝试类似'target.style.visibility = target.style.visibility ==''visible'? 'hidden':'visible''然而,切换一个css类是更简洁的方法 – Satpal
@Satpal - 切换不是一个样式属性 –
感谢你的评论@Satpal!这是我寻找的简单方法。为什么它不是一个更清洁的方法?在可读性或性能方面? –