当前位置:首页 > JavaScript

html实现js查找

2026-04-07 17:38:44JavaScript

在HTML中实现JavaScript查找功能

HTML结合JavaScript可以轻松实现查找功能,以下是一个常见的实现方式:

<input type="text" id="searchInput" placeholder="输入搜索内容">
<button onclick="searchFunction()">搜索</button>
<div id="content">
  这是要搜索的内容区域...
</div>

<script>
function searchFunction() {
  const searchText = document.getElementById("searchInput").value;
  const content = document.getElementById("content").innerHTML;

  if(searchText) {
    const highlighted = content.replace(
      new RegExp(searchText, "gi"),
      match => `<span style="background-color: yellow">${match}</span>`
    );
    document.getElementById("content").innerHTML = highlighted;
  }
}
</script>

实现更复杂的搜索功能

对于需要更精确匹配或全文搜索的情况:

html实现js查找

function advancedSearch() {
  const query = document.getElementById("searchBox").value.toLowerCase();
  const elements = document.querySelectorAll(".searchable");

  elements.forEach(element => {
    const text = element.textContent.toLowerCase();
    element.style.display = text.includes(query) ? "block" : "none";
  });
}

使用事件监听器优化搜索体验

为输入框添加键盘事件监听,实现实时搜索:

html实现js查找

document.getElementById("searchInput").addEventListener("keyup", function() {
  const filter = this.value.toUpperCase();
  const items = document.getElementsByClassName("search-item");

  for (let i = 0; i < items.length; i++) {
    const text = items[i].textContent || items[i].innerText;
    items[i].style.display = text.toUpperCase().indexOf(filter) > -1 ? "" : "none";
  }
});

在表格中实现搜索功能

针对表格数据的搜索实现:

function searchTable() {
  const input = document.getElementById("tableSearch");
  const filter = input.value.toUpperCase();
  const table = document.getElementById("dataTable");
  const tr = table.getElementsByTagName("tr");

  for (let i = 0; i < tr.length; i++) {
    const td = tr[i].getElementsByTagName("td")[0]; // 搜索第一列
    if (td) {
      const txtValue = td.textContent || td.innerText;
      tr[i].style.display = txtValue.toUpperCase().indexOf(filter) > -1 ? "" : "none";
    }
  }
}

使用现代JavaScript特性简化代码

ES6+提供的特性可以让搜索实现更简洁:

const performSearch = () => {
  const term = searchInput.value.trim();
  const regex = new RegExp(term, "gi");

  searchResults.innerHTML = data
    .filter(item => regex.test(item.name))
    .map(item => `<div>${item.name}</div>`)
    .join("");
};

这些方法展示了HTML与JavaScript结合实现搜索功能的不同方式,可以根据具体需求选择适合的实现方案。

标签: htmljs
分享给朋友:

相关文章

js 进度条的实现

js 进度条的实现

使用 HTML 和 CSS 创建基础进度条 HTML 结构可以简单使用一个 div 元素作为容器,内部嵌套另一个 div 表示进度: <div class="progress-containe…

js 实现分页

js 实现分页

实现分页的基本逻辑 分页功能通常需要后端返回数据总量或总页数,前端根据当前页码和每页条数截取对应数据。以下是一个基于JavaScript的简单分页实现方案: 前端分页实现 假设已有从后端获取的完整数…

js画图实现

js画图实现

使用Canvas API绘制图形 Canvas是HTML5提供的绘图API,通过JavaScript操作Canvas元素可以绘制各种图形。以下是一个简单的示例: <canvas id="myC…

js实现交换

js实现交换

交换变量的方法 在JavaScript中,交换两个变量的值有多种方法。以下是常见的几种实现方式: 使用临时变量 通过引入一个临时变量来存储其中一个变量的值,实现交换: let a = 1; le…

js实现文字滚动

js实现文字滚动

实现文字滚动的几种方法 使用CSS动画实现滚动 通过CSS的@keyframes和transform属性可以实现平滑的文字滚动效果。 <style> .scroll-text { w…

js 实现全屏

js 实现全屏

使用 requestFullscreen 方法 通过调用元素的 requestFullscreen 方法可以实现全屏。该方法兼容现代浏览器,但不同浏览器可能需要前缀。 const element =…