jQuery过滤器列表单击按钮

时间:2019-01-27 17:14:02

标签: jquery

我有一个学生档案袋,每个学生都有一个不同的电子邮件地址。

我的意图是使用按钮过滤某个电子邮件提供商。

就像学生有一个来自google的电子邮件地址一样,我想过滤/显示每一个在Google都有一个电子邮件地址的学生。

我的脚本在分页和搜索功能方面运行正常,但是过滤器功能仍然存在问题,这让我有些头疼。

这是主要的过滤器功能:

while

..基于w3schools div的隐藏和显示。

我有一个触发该功能的按钮:

function filterSelection(c) {
var x, i;

hideAll();

var new_results = document.getElementsbyClassName(c);
   new_results.addClass("result");
   displayRange(0, itemTotal);

}

有人可以帮我解决这个问题吗?

这是我的密码笔的链接:https://codepen.io/user1010/pen/omxqRz?editors=1010

2 个答案:

答案 0 :(得分:1)

addClass()是jQuery方法,因此您必须通过jQuery对象。 以下应该起作用。

function filterSelection(c) {
    hideAll();
    // Find all elements with the 'c' class: $('.'+c)
    $('.'+c).addClass("result"); 
    displayRange(0, itemTotal);
}

答案 1 :(得分:0)

如果您打算像看似那样解释电子邮件并将其用作类:

function filterSelection(emailclass){
    if('all') { 
        showAll() 
    } else {
        hideAll()
        $("."+emailclass).closest("li").show()
    }
}

filterSelection('google')

但可以省去完全添加类的麻烦...

function filterSelection(emailpart){
    if('all') { 
        showAll() 
    } else {
        hideAll()
        $("span:contains(emailpart)").closest("li").show()
   }
}

filterSelection('@gmail.com')