当前位置:首页 > JavaScript

js实现$

2026-04-05 04:36:33JavaScript

js实现$

js实现$

实现 jQuery 的 $ 函数

在 JavaScript 中,$ 是一个合法的函数名,jQuery 通过它作为核心选择器的入口。以下是几种实现方式:

基础选择器实现

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

类 jQuery 链式调用实现

function $(selector) {
  const elements = document.querySelectorAll(selector);

  return {
    css: function(property, value) {
      elements.forEach(el => el.style[property] = value);
      return this;
    },
    hide: function() {
      elements.forEach(el => el.style.display = 'none');
      return this;
    },
    show: function() {
      elements.forEach(el => el.style.display = '';
      return this;
    }
  };
}

支持 DOM 就绪事件

function $(selectorOrFunction) {
  if (typeof selectorOrFunction === 'function') {
    document.addEventListener('DOMContentLoaded', selectorOrFunction);
    return;
  }

  return document.querySelectorAll(selectorOrFunction);
}

完整迷你 jQuery 实现

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

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

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

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

  return function(selector) {
    const elements = document.querySelectorAll(selector);
    return new MiniQuery(elements);
  };
})();

使用方法示例

// 选择元素
$('.my-class').css('color', 'red');

// 事件绑定
$('#my-button').on('click', () => alert('Clicked'));

// DOM 就绪
$(function() {
  console.log('DOM is ready');
});

这些实现展示了如何构建类似 jQuery 的核心功能,包括选择器、链式调用和 DOM 操作。实际项目中如果需要完整功能,建议直接使用 jQuery 或现代替代方案如 Zepto.js。

标签: js
分享给朋友:

相关文章

js如何实现继承

js如何实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例能够访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

js实现换肤

js实现换肤

使用CSS变量实现换肤 通过CSS变量可以轻松实现主题切换功能。CSS变量在根元素中定义,通过JavaScript动态修改这些变量值。 :root { --primary-color: #349…

js实现图表

js实现图表

在JavaScript中实现图表通常使用流行的图表库,以下是几种常见的方法和工具: 使用Chart.js Chart.js是一个简单灵活的库,适合快速生成响应式图表。安装方式包括CDN引入或npm安…

js实现百叶窗

js实现百叶窗

使用CSS和JavaScript实现百叶窗效果 通过CSS动画和JavaScript事件监听可以实现百叶窗效果。核心思路是将内容区域分割为多个条状元素,通过控制它们的展开/折叠状态来模拟百叶窗。 &…

js实现vue路由

js实现vue路由

Vue 路由的基本实现 在 Vue.js 中实现路由功能通常使用 Vue Router 库。Vue Router 是 Vue.js 官方的路由管理器,用于构建单页面应用(SPA)。 安装 Vue R…

js分页实现

js分页实现

分页的基本原理 分页的核心是通过计算当前页码和数据偏移量,从服务器或本地数据中截取对应范围的数据进行展示。通常需要以下参数:当前页码(currentPage)、每页条数(pageSize)、总数据量(…