按div中找到的任何文本过滤

时间:2014-12-08 19:24:21

标签: javascript jquery filter filtering show-hide

我一直试图找出一种方法来改变我当前的搜索过滤器,以便可以搜索每个盒子div中找到的任何文本,而不是仅仅过滤包含类“名称”的每个文本。有谁知道调整此代码的任何简单解决方案,以便可以从同一搜索框中搜索任何其他文本?我感谢任何建议或想法。

http://jsfiddle.net/point71echo/mttgj1tt/1/

目前使用的JavaScript:

document.getElementById("box").oninput=function(){
    for (var i=0;i<document.getElementsByClassName("name").length;i++) {
        if (document.getElementsByClassName("name")[i].innerHTML.match(new RegExp(document.getElementById("box").value, "gi"))) {
            document.getElementsByClassName("name")[i].parentElement.parentElement.parentElement.style.display="inline-block";
        } else {       document.getElementsByClassName("name")[i].parentElement.parentElement.parentElement.style.display="none";
        }
    }
}

1 个答案:

答案 0 :(得分:0)

我在一个单独的问题上提供了这个答案。它完全按照我希望的方式工作。

http://jsfiddle.net/mttgj1tt/3/

document.getElementById("box").oninput=function(){

    for (var i=0;i<document.getElementsByClassName("connect-cat").length;i++) {
        if (document.getElementsByClassName("name")[i].innerHTML.match(new RegExp(document.getElementById("box").value, "gi")) || document.getElementsByClassName("category")[i].innerHTML.match(new RegExp(document.getElementById("box").value, "gi"))) {
          document.getElementsByClassName("connect-cat")[i].style.display="inline-block";
        } else {
          document.getElementsByClassName("connect-cat")[i].style.display="none";
        }
    }

}