Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoa eu tinha feito um sistema de busca rapida dos elemntos de uma ul
so que estou tentando passa pro java scprit native DOM.
antes eu usava assim
$("#procurarPlaylist").on('keyup change',function() {
$.extend($.expr[":"], {
"Contains": function(elem, i, match, array) {
return (elem.textContent || elem.innerText || "").toLowerCase().indexOf((match[3] || "").toLowerCase()) >= 0;
}
});
pesquisar = $(this).val();
playlist =$(".playlist");
if(pesquisar) {
playlist.find("strong:not(:Contains(" + pesquisar + ")),span:not(:Contains(" + pesquisar + "))").parent().slideUp(0);
playlist.find("strong:Contains(" + pesquisar + "),span:Contains(" + pesquisar + ")").parent().slideDown(0);});
}
estou tentado assim sem sucesso
document.querySelector("#procurarPlaylist").addEventListener(event, function() {
var pesquisar = this.value;
var playlist =document.querySelector("strong:not(:Contains(" + pesquisar + ")),span:not(:Contains(" + pesquisar + "))");
console.log(playlist);sabe como faço isso william?
tentado de todo jeito tou perdido.
tentando assim.
var playlist =document.querySelector(".playlist span:not").contains(pesquisar);
você vai ter que pegar os elementos, fazer um loop e ai sim comparar as strings.
dei conta dessa forma aqui
for(var pesquisar=this.value.toLowerCase(),playlist=document.querySelectorAll(".playlist li"),x=0;x<playlist.length;x++)""===pesquisar||playlist[x].getElementsByTagName("span")[0].innerHTML.toLowerCase().indexOf((pesquisar||"").toLowerCase())>=0?playlist[x].removeAttribute("hidden"):""===pesquisar||playlist[x].getElementsByTagName("span")[1].innerHTML.toLowerCase().indexOf((pesquisar||"").toLowerCase())>=0?playlist[x].removeAttribute("hidden"):playlist[x].setAttribute("hidden",!0);
Esse :Contains você vai ter que implementar na mão..