当前位置:首页 > JavaScript

js实现$()

2026-03-02 03:42:17JavaScript

实现类似 jQuery 的 $() 函数

要实现类似 jQuery 的 $() 函数,可以通过原生 JavaScript 创建一个简单的 DOM 选择器。以下是几种实现方式:

js实现$()

基础选择器实现

function $(selector) {
  return document.querySelectorAll(selector);
}

增强版实现(支持多种参数类型)

function $(param) {
  if (typeof param === 'string') {
    const elements = document.querySelectorAll(param);
    return elements.length === 1 ? elements[0] : elements;
  }
  if (param instanceof HTMLElement) {
    return param;
  }
  if (typeof param === 'function') {
    document.addEventListener('DOMContentLoaded', param);
  }
  return null;
}

链式操作支持

function $(selector) {
  const elements = document.querySelectorAll(selector);
  return {
    elements,
    css: function(property, value) {
      this.elements.forEach(el => {
        el.style[property] = value;
      });
      return this;
    },
    addClass: function(className) {
      this.elements.forEach(el => {
        el.classList.add(className);
      });
      return this;
    }
  };
}

完整迷你 jQuery 实现

const $ = (function() {
  class MiniQuery {
    constructor(selector) {
      this.elements = document.querySelectorAll(selector);
    }

    css(property, value) {
      this.elements.forEach(el => {
        el.style[property] = value;
      });
      return this;
    }

    addClass(className) {
      this.elements.forEach(el => {
        el.classList.add(className);
      });
      return this;
    }

    on(event, callback) {
      this.elements.forEach(el => {
        el.addEventListener(event, callback);
      });
      return this;
    }
  }

  return function(selector) {
    return new MiniQuery(selector);
  };
})();

这些实现展示了如何从简单到复杂地构建自己的 $() 函数。基础版本只提供选择功能,而完整版本支持链式操作和方法调用。

标签: js
分享给朋友:

相关文章

js树实现

js树实现

树的基本概念 树是一种非线性的数据结构,由节点和边组成。每个节点包含一个值和指向子节点的引用。树的顶部节点称为根节点,没有子节点的节点称为叶节点。 树的实现方式 在JavaScript中,树可以通过…

js怎么实现异步

js怎么实现异步

异步实现方法 JavaScript中实现异步操作主要通过以下几种方式: Promise Promise是ES6引入的异步解决方案,用于处理异步操作的成功或失败状态。 const promise =…

js实现搜索

js实现搜索

实现搜索功能的方法 在JavaScript中实现搜索功能可以通过多种方式完成,以下是几种常见的实现方法。 使用数组的filter方法 通过数组的filter方法可以筛选出符合条件的数据项。假设有一个…

js图片上传实现

js图片上传实现

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API实现基础图片上传功能。HTML部分需要设置accept="image/…

js实现的游戏

js实现的游戏

JavaScript 游戏开发基础 JavaScript 是开发网页游戏的流行选择,因其无需插件即可在浏览器中运行。以下是一些关键技术和资源: HTML5 Canvas Canvas 提供了绘制图形…

js实现图片放大

js实现图片放大

使用 CSS transform 实现图片放大 通过 CSS 的 transform: scale() 属性实现图片放大效果。当鼠标悬停时,图片会平滑放大。 const img = document…