如何使用Javascript筛选无序列表以仅显示所选项目?

发问者

我在尝试创建JSFiddle,以便仅当下拉列表中选择的选项与其类相匹配时,无序列表中的项目才可见。列表项可能具有多个类别,但是只要至少一个类别匹配,就应使该项目可见。

Javascript看起来像这样:

function showListCategories() {
    var selection = document.getElementById("listDisplayer").selectedIndex;
    var unHidden = document.getElementsByClassName(selection);
    for (var i = 0; i < unHidden.length; i++) {
        unHidden[i].style.display = 'visible';
    }
};

这个想法是,它从下拉列表中获取当前选择,根据匹配的类创建一个数组,然后遍历每个项目并将CSS隐藏在每个项目上。

但是,它不起作用。谁能告诉我我要去哪里?

请注意,我尚未编码“全部显示”选项。我认为一旦解决了第一个问题,我也许就能弄清楚这一点。

Mritunjay

在您的提琴中更改加载脚本No wrap - in <head>

只需像下面那样更改您的功能

function showListCategories() {
    var lis = document.getElementsByTagName('li'); 
    for (var i = 0; i < lis.length; i++) {
        lis[i].style.display = 'none';
    }
   //above code to reset all lis if they are already shown

    var selection = document.getElementById("listDisplayer").value;
    lis = document.getElementsByClassName(selection);
    for (var i = 0; i < lis.length; i++) {
        lis[i].style.display = 'block';
    }
};

css它应该是nonehidden

.cats, .rats, .bats {
    display: none;
}

如果要lishowAll选中显示全部,请all向所有lis添加类。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用jquery在无序列表中仅显示第3级?

仅突出显示所选项目

如何使用mvvm在WPF列表框中显示所选项目中的数据?

如何仅使用嵌入式CSS(用于电子邮件)自定义无序列表项目符号?

使用jQuery筛选特定的嵌套无序列表

从列表中突出显示所选项目

Xtext可选项目的无序列表

如何仅显示所选选项的文本

JavaScript:如何从数组创建无序列表?

使用Javascript遍历无序列表

如何清除所选项目Xamarin列表

未在预期位置显示的无序列表项目符号

display:table时显示无序列表的项目符号

如何使用 tkinter 显示带有滚动条的列表框中所选项目的详细信息

如何仅显示UISegmentedControl中所选项目的底部边框?

如何使用jquery(最好)显示和隐藏无序列表(ul)中的列表项(li)元素?

如何使用刻度/对勾符号(✓)代替无序列表中的项目符号?

下拉列表项更改时动态显示所选项目作为警报(Javascript)

如何在无序列表中添加项目?

如何从无序列表中“删除”项目

如何显示标签列表框中所选项目的数字位置

如何自动移动列表框上的滚动条以显示所选项目 - VBA

如何保持所选项目显示在下拉列表中VB.Net

如何从列表框所选项目中获取要在 Picturbox 中显示的图像

使用Javascript使用javascript将所选项目移动到列表框顶部

使用mapbox gl js在侧边列表中为所选项目在地图上显示弹出窗口

如何使用显示垂直居中排列无序列表:flex

如何指定要使用jQuery切换显示的无序列表

所选项目未显示在下拉列表中