Der folgende Code ist für eine einfache Suche. Ich versuche, das sichtbare "li" auf der Liste zu zählen und die Summe in einem div "totalClasses" anzuzeigen. und dann, wenn der Benutzer nach einer Klasse sucht, wird die Summe nur mit den sichtbaren Klassen (li) aktualisiert.Wie man sichtbares 'li' auf einer Suchliste zählt
Ich habe versucht, dies zu tun ('li: visble'), aber es funktioniert nicht.
ul = document.getElementById('myUl');
li = ul.getElementsByTagName('li');
aa = ul.getElementsByTagName('li:visible');
document.getElementById('totalClasess').innerHTML = (aa.length) + " Results";
function search() {
var input, filter, ul, li, a, aa;
input = document.getElementById('myInput');
filter = input.value.toUpperCase();
ul = document.getElementById('myUl');
li = ul.getElementsByTagName('li');
for (var i = 0; i < li.length; i++) {
a = li[i].getElementsByTagName('a')[0];
if (a.innerHTML.toUpperCase().indexOf(filter) > -1) {
li[i].style.display = '';
} else {
li[i].style.display = 'none';
}
}
}
<input type="text" id="myInput" onkeyup="search()" placeholder="Search for a class..." title="Type something">
<p class="results">Results</p>
<p id="totalClasess"></p>
<ul id="myUl">
<li><a href="#" class="header">Section 1</a></li>
<li><a href="#">Class 1 </a></li>
<li><a href="#">Class 2</a></li>
<li><a href="#">Class 3</a></li>
</ul>
DEMO: https://jsfiddle.net/52bbqor9/
Warum das jQuery-Tag? Ich sehe keine. – j08691