当前位置:首页 > 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
分享给朋友:

相关文章

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 使用JavaScript实现拖拽功能需要监听鼠标事件,包括mousedown、mousemove和mouseup。以下是实现的基本逻辑: const draggableElem…

js实现倒计时

js实现倒计时

实现倒计时的基本方法 使用 JavaScript 实现倒计时功能可以通过 setInterval 或 setTimeout 结合日期计算来完成。以下是几种常见的实现方式: 使用 setInterv…

vue实现js休眠

vue实现js休眠

Vue 中实现 JavaScript 休眠 在 Vue 中实现 JavaScript 休眠通常需要使用异步方式,以避免阻塞主线程。以下是几种常见方法: 使用 setTimeout 和 Pro…

vue.js实现轮播

vue.js实现轮播

Vue.js 实现轮播功能 使用第三方库(推荐) Vue.js 生态中有许多成熟的轮播组件库,例如 vue-awesome-swiper 或 swiper,它们功能丰富且易于集成。 安装 swip…

js实现计算器

js实现计算器

实现基础计算器功能 使用JavaScript创建一个基础计算器需要处理数字输入、运算符逻辑和结果显示。以下是一个简单的实现示例: let currentInput = '0'; let previo…

js实现验证码

js实现验证码

使用Canvas生成图形验证码 在HTML中创建一个Canvas元素用于绘制验证码。通过JavaScript随机生成数字或字母组合,并添加干扰线、噪点等干扰元素增强安全性。 <canvas i…