理想情況下,選中任一組的復(fù)選框時(shí),將創(chuàng)建div來代表該組的動(dòng)物,而當(dāng)取消選中任一組時(shí),將刪除該組的div。我的問題是,每當(dāng)我取消選中一個(gè)組時(shí),它就會(huì)將所有div連同容器一起從所有組中刪除,并且如果重新檢查,則會(huì)阻止創(chuàng)建div的方法再次起作用。為什么會(huì)這樣,我該如何解決?謝謝。var cont = document.getElementById('cont'); function test(x) { var selected = x.checked; if (selected == true) { array.forEach(function(element) { if (element.sort == x.id) { var div = document.createElement('div'); div.className = x.id; var header = document.createElement('h4'); header.innerHTML = element.title; div.appendChild(header); cont.appendChild(div); } }) } if (selected == false) { var zed = cont.getElementsByClassName(x.id); cont.remove(zed); }} var array = [ {title: 'Shark', sort: 'Sea'}, {title: 'Whale', sort: 'Sea'}, {title: 'Tuna', sort: 'Sea'}, {title: 'Cow', sort: 'Farm'}, {title: 'Sheep', sort: 'Farm'}, {title: 'Chicken', sort: 'Farm'},].results-container { display: flex; flex-direction: column; width: 200px; height: auto; min-height: 50px; margin-top: 10px; background-color:lightskyblue; padding: 10px; } .results-container div { display: flex; background-color: white; height: 40px; width: 100%; border: 1px solid black; margin-bottom: 2px; justify-content: center; font-size: 10px; }<div class='filter-container'> Sea: <input type="checkbox" id = 'Sea' onClick="test(this)" /> Farm: <input type="checkbox" id="Farm" onClick="test(this)"/></div> <div id='cont' class='results-container'></div>
使用復(fù)選框過濾器創(chuàng)建/刪除div
SMILET
2021-05-09 16:26:47