W3schools.cn 在线教程 - 编程参考手册

HowTo 操作方法

HowTo Home


Icon Bar Menu Icon Accordion Tabs Vertical Tabs Tab Headers Full Page Tabs Hover Tabs Top Navigation Responsive Topnav Navbar with Icons Search Menu Search Bar Fixed Sidebar Side Navigation Responsive Sidebar Fullscreen Navigation Off-Canvas Menu Hover Sidenav Buttons Sidebar with Icons Horizontal Scroll Menu Vertical Menu Bottom Navigation Responsive Bottom Nav Bottom Border Nav Links Right Aligned Menu Links Centered Menu Link Equal Width Menu Links Fixed Menu Slide Down Bar on Scroll Hide Navbar on Scroll Shrink Navbar on Scroll Sticky Navbar Navbar on Image Hover Dropdowns Click Dropdowns Cascading Dropdown Dropdown in Topnav Dropdown in Sidenav Resp Navbar Dropdown Subnavigation Menu Dropup Mega Menu Mobile Menu Curtain Menu Collapsed Sidebar Collapsed Sidepanel Pagination Breadcrumbs Button Group Vertical Button Group Sticky Social Bar Pill Navigation Responsive Header


Slideshow Slideshow Gallery Modal Images Lightbox Responsive Image Grid Image Grid Tab Gallery Image Overlay Fade Image Overlay Slide Image Overlay Zoom Image Overlay Title Image Overlay Icon Image Effects Black and White Image Image Text Image Text Blocks Transparent Image Text Full Page Image Form on Image Hero Image Blur Background Image Change Bg on Scroll Side-by-Side Images Rounded Images Avatar Images Responsive Images Center Images Thumbnails Border Around Image Meet the Team Sticky Image Flip an Image Shake an Image Portfolio Gallery Portfolio with Filtering Image Zoom Image Magnifier Glass Image Comparison Slider


Alert Buttons Outline Buttons Split Buttons Animated Buttons Fading Buttons Button on Image Social Media Buttons Read More Read Less Loading Buttons Download Buttons Pill Buttons Notification Button Icon Buttons Next/prev Buttons More Button in Nav Block Buttons Text Buttons Round Buttons Scroll To Top Button


Login Form Signup Form Checkout Form Contact Form Social Login Form Register Form Form with Icons Newsletter Stacked Form Responsive Form Popup Form Inline Form Clear Input Field Hide Number Arrows Copy Text to Clipboard Animated Search Search Button Fullscreen Search Input Field in Navbar Login Form in Navbar Custom Checkbox/Radio Custom Select Toggle Switch Check Checkbox Detect Caps Lock Trigger Button on Enter Password Validation Toggle Password Visibility Multiple Step Form Autocomplete Turn off autocomplete Turn off spellcheck File Upload Button Empty Input Validation


Filter List Filter Table Filter Elements Filter Dropdown Sort List Sort Table


Zebra Striped Table Center Tables Responsive Tables Comparison Table


Fullscreen Video Modal Boxes Delete Modal Timeline Scroll Indicator Progress Bars Skill Bar Range Sliders Tooltips Display Element Hover Popups Collapsible Calendar HTML Includes To Do List Loaders Star Rating User Rating Overlay Effect Contact Chips Cards Flip Card Profile Card Product Card Alerts Callout Notes Labels Circles Style HR Coupon List Group List Without Bullets Responsive Text Cutout Text Glowing Text Fixed Footer Sticky Element Equal Height Clearfix Responsive Floats Snackbar Fullscreen Window Scroll Drawing Smooth Scroll Gradient Bg Scroll Sticky Header Shrink Header on Scroll Pricing Table Parallax Aspect Ratio Responsive Iframes Toggle Like/Dislike Toggle Hide/Show Toggle Dark Mode Toggle Text Toggle Class Add Class Remove Class Active Class Tree View Remove Property Offline Detection Find Hidden Element Redirect Webpage Zoom Hover Flip Box Center Vertically Center Button in DIV Transition on Hover Arrows Shapes Download Link Full Height Element Browser Window Custom Scrollbar Hide Scrollbar Show/Force Scrollbar Device Look Contenteditable Border Placeholder Color Text Selection Color Bullet Color Vertical Line Dividers Animate Icons Countdown Timer Typewriter Coming Soon Page Chat Messages Popup Chat Window Split Screen Testimonials Section Counter Quotes Slideshow Closable List Items Typical Device Breakpoints Draggable HTML Element JS Media Queries Syntax Highlighter JS Animations JS String Length JS Default Parameters Get Current URL Get Current Screen Size Get Iframe Elements


Make a Website Make a Website (W3.CSS) Make a Website (BS3) Make a Website (BS4) Make a WebBook Center Website Contact Section About Page Big Header Example Website


2 Column Layout 3 Column Layout 4 Column Layout Expanding Grid List Grid View Mixed Column Layout Column Cards Zig Zag Layout Blog Layout


Google Charts Google Fonts


Convert Weight Convert Temperature Convert Length Convert Speed

如何 - 过滤/搜索列表

了解如何使用 JavaScript 创建过滤器列表。


如何使用 JavaScript 搜索列表中的项目。

亲自试一试 »


步骤 1) 添加 HTML:


<input type="text" id="myInput" onkeyup="myFunction()" placeholder="Search for names..">

<ul id="myUL">
  <li><a href="#">Adele</a></li>
  <li><a href="#">Agnes</a></li>

  <li><a href="#">Billy</a></li>
  <li><a href="#">Bob</a></li>

  <li><a href="#">Calvin</a></li>
  <li><a href="#">Christina</a></li>
  <li><a href="#">Cindy</a></li>

注释: 我们在此演示中使用 href="#",因为我们没有链接它的页面。 在现实生活中,这应该是指向特定页面的真实 URL。

步骤 2) 添加 CSS:



#myInput {
  background-image: url('/css/searchicon.png'); /* 添加搜索图标输入 */
  background-position: 10px 12px; /* 定位搜索图标 */
  background-repeat: no-repeat; /* 不要重复图标图像 */
  width: 100%; /* 全宽 */
  font-size: 16px; /* 增加字体大小 */
  padding: 12px 20px 12px 40px; /* 添加一些填充 */
  border: 1px solid #ddd; /* 添加灰色边框 */
  margin-bottom: 12px; /* 在输入下方添加一些空格 */

#myUL {
  /* 删除默认列表样式 */
  list-style-type: none;
  padding: 0;
  margin: 0;

#myUL li a {
  border: 1px solid #ddd; /* 为所有链接添加边框 */
  margin-top: -1px; /* 防止双边框 */
  background-color: #f6f6f6; /* 灰色背景颜色 */
  padding: 12px; /* 添加一些填充 */
  text-decoration: none; /* 删除默认文本下划线 */
  font-size: 18px; /* 增加字体大小 */
  color: black; /* 添加黑色文本颜色 */
  display: block; /* 使其成为一个块元素以填充整个列表 */

#myUL li a:hover:not(.header) {
  background-color: #eee; /* 为所有链接添加悬停效果,标题除外 */

步骤 3) 添加 JavaScript:


function myFunction() {
   // 声明变量
  var input, filter, ul, li, a, i, txtValue;
  input = document.getElementById('myInput');
  filter = input.value.toUpperCase();
  ul = document.getElementById("myUL");
  li = ul.getElementsByTagName('li');

   // 遍历所有列表项,并隐藏那些与搜索查询不匹配的项
  for (i = 0; i < li.length; i++) {
    a = li[i].getElementsByTagName("a")[0];
    txtValue = a.textContent || a.innerText;
    if (txtValue.toUpperCase().indexOf(filter) > -1) {
      li[i].style.display = "";
    } else {
      li[i].style.display = "none";
亲自试一试 »

提示: 如果要执行区分大小写的搜索,请删除 toUpperCase()

提示: 另请查看 Filter Table.