3 回答

TA貢獻1883條經驗 獲得超3個贊
嘗試使用如下示例的代碼添加或刪除 CSS 類,這些類將根據需要隱藏或顯示您的元素。
window.onload = function() {
var items = document.querySelectorAll('.item');
for (var i=0; i < items.length; i++ ){
items[i].addEventListener('click', function(event) {
for (var i=0; i < items.length; i++ ){
items[i].classList.remove("hidden");
}
event.target.classList.add("hidden");
});
}
}
.hidden { display: none; }
.item { cursor: pointer; }
<ul>
<li class="item">Item 1</li>
<li class="item hidden" >Item 2</li>
</ul>

TA貢獻1784條經驗 獲得超9個贊
在您的代碼段中,您嘗試訪問elm1和elm2作為字符串,因此您應該刪除'. 您的最后一行 addEventListener 可疑,我不明白您要做什么。
在 JS 中處理樣式更改時的最佳實踐是預先創建 CSS 類并使用 JS 動態更改該類。類似的東西:
const changeDisplay = (elm1, elm2) => {
const E1 = document.getElementById(elm1);
const E2 = document.getElementById(elm2);
E1.className = 'display_none';
E2.className = 'display_block';
E1.addEventListener('click', /*FUNCTION*/);
E2.addEventListener('click', /*FUNCTION*/);
}
changeDisplay('not', 'ok')
添加回答
舉報