当前位置:首页 > JavaScript

js实现选择器

2026-01-30 08:55:43JavaScript

实现基础选择器

使用 document.querySelectordocument.querySelectorAll 实现类似 CSS 的选择器功能。前者返回第一个匹配元素,后者返回所有匹配的 NodeList。

// 选择单个元素  
const element = document.querySelector('#id');  
const element = document.querySelector('.class');  
const element = document.querySelector('div');  

// 选择所有匹配元素  
const elements = document.querySelectorAll('.class');  

按属性选择元素

通过属性选择器定位元素,支持精确匹配或部分匹配。

js实现选择器

// 精确匹配属性  
const links = document.querySelectorAll('a[href="https://example.com"]');  

// 匹配属性包含特定值  
const icons = document.querySelectorAll('[class*="icon-"]');  

// 匹配属性以特定值开头  
const inputs = document.querySelectorAll('input[type^="text"]');  

层级与组合选择器

通过组合选择器实现更复杂的层级关系匹配。

js实现选择器

// 子元素选择  
const listItems = document.querySelectorAll('ul > li');  

// 相邻兄弟选择  
const nextButton = document.querySelector('.submit + button');  

// 通用兄弟选择  
const allSiblings = document.querySelectorAll('h1 ~ p');  

伪类与动态选择

利用伪类选择器匹配动态状态或特定位置的元素。

// 匹配悬停状态的元素(需通过事件监听实现)  
element.addEventListener('mouseover', () => {  
  element.style.color = 'red';  
});  

// 选择第一个子元素  
const firstChild = document.querySelector('li:first-child');  

// 选择第 n 个元素  
const thirdItem = document.querySelector('li:nth-child(3)');  

性能优化建议

避免频繁使用复杂选择器或全局扫描,优先通过 ID 或类名缩小范围。

// 不推荐:全局扫描  
const slow = document.querySelectorAll('div span.highlight');  

// 推荐:限定范围  
const container = document.getElementById('app');  
const fast = container.querySelectorAll('span.highlight');  

通过以上方法,可以灵活实现各种 DOM 元素选择需求。

标签: 选择器js
分享给朋友:

相关文章

vue实现多标签选择器

vue实现多标签选择器

Vue 多标签选择器实现 基本结构 使用 Vue 的 v-model 和 v-for 指令构建标签选择器的基础交互。以下是一个简单的实现示例: <template> <div…

js实现轮播

js实现轮播

实现基础轮播效果 使用HTML结构创建轮播容器和图片元素: <div class="carousel"> <div class="carousel-inner">…

js实现轮播

js实现轮播

实现轮播图的基本思路 轮播图的核心逻辑是通过定时切换展示的图片或内容,通常结合左右滑动按钮和指示器(小圆点)增强交互性。以下是基于原生JavaScript的实现方法。 HTML结构 构建轮播图的HT…

js 进度条的实现

js 进度条的实现

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

js实现瀑布流

js实现瀑布流

实现瀑布流布局 瀑布流布局是一种常见的网页布局方式,常用于图片展示、商品列表等场景。以下是使用 JavaScript 实现瀑布流布局的几种方法。 纯 JavaScript 实现 通过计算元素的位置和…

js实现选题

js实现选题

实现选题功能的JavaScript方法 基础实现方案 使用数组存储选项,通过随机索引选取: const options = ['选项A', '选项B', '选项C', '选项D']; const r…