Le code ci-dessous est pour une recherche simple. Im essayant de compter le «li» visible sur la liste et afficher le total dans un div «totalClasses». et puis lorsque l'utilisateur recherche une classe mettre à jour le total avec seulement les classes visibles (li).Comment compter 'li' visible sur une liste de recherche
J'ai essayé de le faire ('li: visble') mais ne fonctionne pas.
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/
Pourquoi le tag jQuery? Je n'en vois pas. – j08691