是否有任何原生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!這是我尋找的簡單方法。爲什麼它不是一個更清潔的方法?在可讀性或性能方面? –