Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

HOW TO

HowTo 主页

菜单

图标栏 菜单图标 手风琴 选项卡 垂直选项卡 选项卡标题 全页面选项卡 悬停选项卡 顶部导航 自适应顶部导航 拆分导航 带有图标的导航栏 搜索菜单 搜索栏 固定侧边栏 侧边导航 自适应侧边栏 全屏导航 画布外菜单 悬停侧边栏按钮 带有图标的侧边栏 水平滚动菜单 垂直菜单 底部导航 自适应底部导航 底部边框导航链接 右对齐菜单链接 居中菜单链接 等宽菜单链接 固定菜单 滚动时下拉栏 滚动时隐藏导航栏 滚动时缩小导航栏 粘性导航栏 图像上的导航栏 悬停下拉菜单 点击下拉菜单 级联下拉菜单 顶部导航中的下拉菜单 侧边导航中的下拉菜单 自适应导航栏下拉菜单 子导航菜单 上拉菜单 超级菜单 移动菜单 窗帘菜单 折叠侧边栏 折叠侧边面板 分页 面包屑 按钮组 垂直按钮组 粘性社交栏 药丸导航 自适应页眉

图片

幻灯片 幻灯片库 模态图片 灯箱 自适应图片网格 图片网格 图片库 可滚动图片库 选项卡库 图片叠加淡入 图片叠加滑动 图片叠加缩放 图片叠加标题 图片叠加图标 图片效果 黑白图片 图片文字 图片文字块 透明图片文字 全页面图片 图片上的表单 英雄图片 模糊背景图片 滚动时更改背景 并排图片 圆角图片 头像图片 自适应图片 居中图片 缩略图 图片周围的边框 认识团队 粘性图片 翻转图片 摇晃图片 作品集库 带有过滤功能的作品集 图片缩放 图片放大镜 图片对比滑块 网站图标

按钮

警报按钮 轮廓按钮 拆分按钮 动画按钮 淡出按钮 图片上的按钮 社交媒体按钮 阅读更多/更少 加载按钮 下载按钮 药丸按钮 通知按钮 图标按钮 下一页/上一页按钮 导航中的更多按钮 块级按钮 文本按钮 圆形按钮 滚动到顶部按钮

表单

登录表单 注册表单 结账表单 联系表单 社交登录表单 注册表单 带有图标的表单 新闻稿 堆叠表单 自适应表单 弹出窗口表单 内联表单 清除输入字段 隐藏数字箭头 复制文本到剪贴板 动画搜索 搜索按钮 全屏搜索 导航栏中的输入字段 导航栏中的登录表单 自定义复选框/单选按钮 自定义选择 切换开关 选中复选框 检测大写锁定 回车键触发按钮 密码验证 切换密码可见性 多步骤表单 自动完成 关闭自动完成 关闭拼写检查 文件上传按钮 空输入验证

过滤器

过滤列表 过滤表格 过滤元素 过滤下拉菜单 排序列表 排序表格

表格

斑马条纹表格 居中表格 全宽表格 嵌套表格 并排表格 自适应表格 对比表格

更多

全屏视频 模态框 删除模态框 时间轴 滚动指示器 进度条 技能条 范围滑块 颜色选择器 电子邮件字段 工具提示 悬停显示元素 弹出窗口 可折叠 日历 HTML 包含 待办事项清单 加载器 徽章 星级评定 用户评定 覆盖效果 联系芯片 卡片 翻转卡片 个人资料卡片 产品卡片 警报 呼叫 笔记 标签 丝带 标签云 圆形 样式 HR 优惠券 列表组 带徽章的列表组 无项目符号的列表 响应式文本 剪切文本 发光文本 固定页脚 粘性元素 等高 清除浮动 响应式浮动 Snackbar 全屏窗口 滚动绘制 平滑滚动 渐变背景滚动 粘性页眉 滚动时缩小页眉 价格表 视差 纵横比 响应式内联框架 切换喜欢/不喜欢 切换隐藏/显示 切换暗黑模式 切换文本 切换类 添加类 删除类 更改类 活动类 树视图 删除小数 删除属性 离线检测 查找隐藏元素 重定向网页 格式化数字 悬停缩放 翻转盒子 垂直居中 在 DIV 中居中按钮 居中列表 悬停过渡 箭头 形状 下载链接 全高元素 浏览器窗口 自定义滚动条 隐藏滚动条 显示/强制滚动条 设备外观 可编辑边框 占位符颜色 禁用文本区域调整大小 禁用文本选择 文本选择颜色 项目符号颜色 垂直线 分隔线 文本分隔线 动画图标 倒计时 打字机 即将推出页面 聊天消息 弹出式聊天窗口 分屏 推荐 版块计数器 引语幻灯片 可关闭的列表项 典型设备断点 可拖动的 HTML 元素 JS 媒体查询 语法高亮 JS 动画 JS 字符串长度 JS 指数 JS 默认参数 JS 随机数 JS 排序数字数组 JS 展开运算符 JS 滚动到视图 获取当前日期 获取当前 URL 获取当前屏幕尺寸 获取内联框架元素

网站

创建免费网站 制作网站 制作静态网站 托管静态网站 制作网站 (W3.CSS) 制作网站 (BS3) 制作网站 (BS4) 制作网站 (BS5) 创建和查看网站 创建链接树网站 创建作品集 创建简历 制作餐厅网站 制作企业网站 制作网络书 居中网站 联系部分 关于页面 大页眉 示例网站

网格

2 列布局 3 列布局 4 列布局 扩展网格 列表网格视图 混合列布局 列卡片 之字形布局 博客布局

谷歌

谷歌图表 谷歌字体 谷歌字体搭配 谷歌设置分析

转换器

转换重量 转换温度 转换长度 转换速度

博客

获取开发职位 成为前端开发人员 招聘开发人员

如何 - 过滤元素


了解如何根据类名过滤 DIV 元素。


过滤 DIV 元素

宝马
橙色
沃尔沃
红色
福特
蓝色
甜瓜
奇异果
香蕉
柠檬
母牛

试一试 »


创建可过滤的 DIV 元素

步骤 1) 添加 HTML

示例

<!-- 控制按钮 -->
<div id="myBtnContainer">
  <button class="btn active" onclick="filterSelection('all')"> 显示全部</button>
  <button class="btn" onclick="filterSelection('cars')"> 汽车</button>
  <button class="btn" onclick="filterSelection('animals')"> 动物</button>
  <button class="btn" onclick="filterSelection('fruits')"> 水果</button>
  <button class="btn" onclick="filterSelection('colors')"> 颜色</button>
</div>

<!-- 可过滤元素。注意,有些具有多个类名(如果它们属于多个类别,则可以使用) -->
<div class="container">
  <div class="filterDiv cars">宝马</div>
  <div class="filterDiv colors fruits">橙色</div>
  <div class="filterDiv cars">沃尔沃</div>
  <div class="filterDiv colors">红色</div>
  <div class="filterDiv cars">福特</div>
  <div class="filterDiv colors">蓝色</div>
  <div class="filterDiv animals">猫</div>
  <div class="filterDiv animals">狗</div>
  <div class="filterDiv fruits">甜瓜</div>
  <div class="filterDiv fruits animals">奇异果</div>
  <div class="filterDiv fruits">香蕉</div>
  <div class="filterDiv fruits">柠檬</div>
  <div class="filterDiv animals">母牛</div>
</div>

步骤 2) 添加 CSS

示例

.container {
  overflow: hidden;
}

.filterDiv {
  float: left;
  background-color: #2196F3;
  color: #ffffff;
  width: 100px;
  line-height: 100px;
  text-align: center;
  margin: 2px;
  display: none; /* 默认隐藏 */
}

/* 将 "show" 类添加到过滤的元素 */
.show {
  display: block;
}

/* 样式按钮 */
.btn {
  border: none;
  outline: none;
  padding: 12px 16px;
  background-color: #f1f1f1;
  cursor: pointer;
}

/* 鼠标悬停时添加浅灰色背景 */
.btn:hover {
  background-color: #ddd;
}

/* 为活动按钮添加深色背景 */
.btn.active {
  background-color: #666;
  color: white;
}


步骤 3) 添加 JavaScript

示例

filterSelection("all")
function filterSelection(c) {
  var x, i;
  x = document.getElementsByClassName("filterDiv");
  if (c == "all") c = "";
  // 将 "show" 类(display:block)添加到过滤的元素,并从未选中的元素中删除 "show" 类
  for (i = 0; i < x.length; i++) {
    w3RemoveClass(x[i], "show");
    if (x[i].className.indexOf(c) > -1) w3AddClass(x[i], "show");
  }
}

// 显示过滤的元素
function w3AddClass(element, name) {
  var i, arr1, arr2;
  arr1 = element.className.split(" ");
  arr2 = name.split(" ");
  for (i = 0; i < arr2.length; i++) {
    if (arr1.indexOf(arr2[i]) == -1) {
      element.className += " " + arr2[i];
    }
  }
}

// 隐藏未选中的元素
function w3RemoveClass(element, name) {
  var i, arr1, arr2;
  arr1 = element.className.split(" ");
  arr2 = name.split(" ");
  for (i = 0; i < arr2.length; i++) {
    while (arr1.indexOf(arr2[i]) > -1) {
      arr1.splice(arr1.indexOf(arr2[i]), 1);
    }
  }
  element.className = arr1.join(" ");
}

// 为当前控制按钮添加活动类(突出显示它)
var btnContainer = document.getElementById("myBtnContainer");
var btns = btnContainer.getElementsByClassName("btn");
for (var i = 0; i < btns.length; i++) {
  btns[i].addEventListener("click", function() {
    var current = document.getElementsByClassName("active");
    current[0].className = current[0].className.replace(" active", "");
    this.className += " active";
  });
}
试一试 »

×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.