当前位置:首页 > JavaScript

js实现选择器

2026-04-04 00:30:26JavaScript

实现选择器的常见方法

在JavaScript中,选择器用于选取DOM元素,以下是几种常见的方法:

document.getElementById()

通过元素的ID属性选取单个元素。

const element = document.getElementById('myId');

document.querySelector()

使用CSS选择器选取第一个匹配的元素。

const element = document.querySelector('.myClass');

document.querySelectorAll()

使用CSS选择器选取所有匹配的元素,返回一个NodeList。

const elements = document.querySelectorAll('div');

document.getElementsByClassName()

通过类名选取所有匹配的元素,返回一个HTMLCollection。

js实现选择器

const elements = document.getElementsByClassName('myClass');

document.getElementsByTagName()

通过标签名选取所有匹配的元素,返回一个HTMLCollection。

const elements = document.getElementsByTagName('div');

选择器的进阶用法

组合选择器

可以通过组合选择器更精确地选取元素。

const element = document.querySelector('div.myClass');

属性选择器

通过元素的属性选取元素。

js实现选择器

const element = document.querySelector('[data-attr="value"]');

伪类选择器

使用伪类选择器选取元素。

const element = document.querySelector('div:hover');

动态选择器

事件委托

通过事件委托动态选取元素。

document.addEventListener('click', function(event) {
  if (event.target.matches('.myClass')) {
    console.log('Element clicked');
  }
});

MutationObserver

监听DOM变化动态选取元素。

const observer = new MutationObserver(function(mutations) {
  mutations.forEach(function(mutation) {
    if (mutation.addedNodes.length) {
      const elements = document.querySelectorAll('.myClass');
    }
  });
});
observer.observe(document.body, { childList: true, subtree: true });

性能优化建议

避免频繁使用复杂的选择器,尤其是在循环中。缓存选择器的结果以提高性能。

const elements = document.querySelectorAll('.myClass');
elements.forEach(function(element) {
  console.log(element);
});

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

相关文章

vue实现js休眠

vue实现js休眠

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

js实现复制到剪贴板

js实现复制到剪贴板

使用document.execCommand方法(传统方式,已废弃但部分浏览器仍支持) 该方法适用于旧版浏览器,但已被标记为废弃。执行前需确保文本已被选中: function copyToClipb…

jquery 选择器

jquery 选择器

jQuery 选择器基础语法 jQuery 选择器基于 CSS 选择器语法扩展,用于快速定位 DOM 元素。基本结构为 $("selector") 或 jQuery("selector"),返回一个包…

js实现图

js实现图

JavaScript 实现图的常用方法 在 JavaScript 中,图(Graph)可以通过多种方式实现,常见的包括邻接表(Adjacency List)和邻接矩阵(Adjacency Matrix…

js实现跑马灯

js实现跑马灯

实现跑马灯效果 使用HTML和JavaScript可以轻松实现跑马灯效果。以下是两种常见的实现方式: HTML结构 <div id="marquee"> <span>…

js实现上传图片

js实现上传图片

使用HTML5的File API实现图片上传 HTML5的File API允许通过JavaScript访问用户选择的文件。需要创建一个文件输入元素,并监听其change事件。 <input t…