What's the problem in my code?
Uncaught TypeError: Cannot read properties of undefined (reading 'remove')
and
Uncaught TypeError: Cannot read properties of undefined (reading 'add')
document.querySelector("#elastic").oninput = function () {
let val = this.value.trim();
let elasticItem = Array.from(document.querySelectorAll(".elastic li"));
if (val != "") {
elasticItem.forEach(function (elem) {
if (elem.innerText.search(val) === -1) {
elem.classlist.add("hide");
} else {
elem.classlist.remove("hide");
}
});
}
};
.hide {
display: none;
}
<div>
<input type="text" id="elastic" placeholder="Search" />
</div>
<div>
<ul class="elastic">
<li>ht</li>
<li>sdf</li>
<li>qwe</li>
<li>cxv</li>
<li>sad</li>
<li>sdf</li>
<li>dfg</li>
</ul>
</div>
JavaScript is case-sensitive
Changeclasslist to classList (l → L)
elem.classList.add('hide');
elem.classList.remove('hide');
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With