javascript - 使用 hasClass() 显示匹配的列表项

标签 javascript jquery

来自 JavaScript 新手的问题。 我有一个这样的列表:

<ul>
<li class="class1 class2"> </li>
<li class="class3 class4"> </li>
<li class="class1 class3"> </li>
</ul>

所有列表项最初都是隐藏的,我需要检查某个项目是否具有特定的类别来显示它。如果多个项目包含一个类,我需要将它们全部显示出来。问题是,我不知道如何正确定位元素:

if ($('li').hasClass('class3')) {
/* show this li */
}

这里应该写什么?

最佳答案

这不起作用,因为 hasClass 仅检查第一个 li 返回是否有任何 li 具有该类。只需这样做:

$('li.class3').show()

如果您的条件变得更复杂,另一种编写方式是:

$('li').filter(function() {
    return $(this).hasClass('class3');
}).show()

关于javascript - 使用 hasClass() 显示匹配的列表项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6979566/

相关文章:

jquery - 在 Bootstrap 按钮下拉列表中显示所选项目标题/占位符文本

javascript - wsapi 存储的过滤功能在 Rally SDK 中不起作用

javascript - 我怎样才能摆脱 AngularJS 中所有重复的 watch ?

javascript - 在时间轴上定位条目

jquery - 选择地址后清除自动完成字段值

jquery 无法在 IE 中使用 ajax 响应作为上下文

javascript - 将多个 Backbone View $el 合并到一个 jQuery 对象中

javascript - Bootstrap 4 工具提示有 2 个问题。第一个 - 单击按钮时显示,第二个 - 显示禁用元素

javascript - 不和谐.js |回复消息(实际回复带有回复装饰)

javascript - 第一次点击时 jQuery 不起作用