仅过滤/搜索和显示图标

时间:2018-10-27 13:39:18

标签: java html css

我很疯狂,试图只显示搜索框中的图标。

http://www.rsbdylgy.lucusvirtual.es/main.htm (您可以在相同的html代码中看到“搜索”脚本)

键入“一个” =我需要显示“一个”图标

键入“六个” =我需要显示“ +”图标

换句话说,我需要从HTML中应用2个过滤器:

title="FILTER1"
<li><a href="#" target="_blank">FILTER2</a></li>

我无法解决如此简单的问题,希望有人可以帮助我。

谢谢。

1 个答案:

答案 0 :(得分:0)

尝试类似的东西:

function checkEntry() {
    var value = $("#myInput").val().toLowerCase();

    $("#content1 a.card").filter(function() {
        if (this.dataset.toggle === "dropdown") {
           // This filters the drop-down links as well, but you may
           //  just want to decide whether or not to show the "+" card
           $(this).parent().find('a:not(.card)').filter(function() {
               $(this).toggle(this.text.toLowerCase().indexOf(value) > -1);
           })
        }
        else {
            $(this).toggle(this.title.toLowerCase().indexOf(value) > -1);
        }
    });
};

作为您的“ keyup”事件处理程序。

使用选择器进行操作的方式是选择过多的元素并查看这些元素的text()函数,很少有您想要的值。

我总是觉得使用浏览器的嵌入式开发人员工具很有用,这样您就可以了解发生了什么。

您的选择器正在选择所有这些元素:

>$("#content1 *")
w.fn.init(23) [div.numbers, a.card, img, a.card, img, a.card, img, a.card, img, a.card, img, div.dropdown, a.card.dropdown-toggle, img, ul.dropdown-menu, li, a, li, a, li, a, li, a, prevObject: w.fn.init(1)]

仅查看您真正想要的其中之一,表明text()无法获得'title'属性中所需的信息:

>$($("#content1 *")[1]).text()
""