当前位置:首页 > JavaScript

js实现jq

2026-02-01 05:23:05JavaScript

使用原生 JavaScript 实现 jQuery 的部分功能

jQuery 是一个流行的 JavaScript 库,主要用于简化 DOM 操作、事件处理、动画效果等。以下是一些常见的 jQuery 功能及其原生 JavaScript 实现方法。

选择元素

jQuery 使用 $() 来选择元素,原生 JavaScript 可以使用 querySelectorquerySelectorAll 实现类似功能。

// jQuery
$('.className');
$('#idName');

// 原生 JavaScript
document.querySelector('.className');
document.querySelector('#idName');
document.querySelectorAll('.className');

事件绑定

jQuery 使用 on() 方法绑定事件,原生 JavaScript 使用 addEventListener

// jQuery
$('#button').on('click', function() {
  console.log('Button clicked');
});

// 原生 JavaScript
document.querySelector('#button').addEventListener('click', function() {
  console.log('Button clicked');
});

修改 CSS

jQuery 使用 css() 方法修改元素的样式,原生 JavaScript 可以直接操作 style 属性。

js实现jq

// jQuery
$('#element').css('color', 'red');

// 原生 JavaScript
document.querySelector('#element').style.color = 'red';

类操作

jQuery 提供了 addClass()removeClass()toggleClass() 方法,原生 JavaScript 可以使用 classList

// jQuery
$('#element').addClass('active');
$('#element').removeClass('active');
$('#element').toggleClass('active');

// 原生 JavaScript
document.querySelector('#element').classList.add('active');
document.querySelector('#element').classList.remove('active');
document.querySelector('#element').classList.toggle('active');

获取和设置属性

jQuery 使用 attr() 方法获取或设置属性,原生 JavaScript 使用 getAttributesetAttribute

js实现jq

// jQuery
$('#element').attr('data-value');
$('#element').attr('data-value', 'newValue');

// 原生 JavaScript
document.querySelector('#element').getAttribute('data-value');
document.querySelector('#element').setAttribute('data-value', 'newValue');

AJAX 请求

jQuery 使用 $.ajax() 发送 AJAX 请求,原生 JavaScript 可以使用 fetchXMLHttpRequest

// jQuery
$.ajax({
  url: 'https://api.example.com/data',
  method: 'GET',
  success: function(data) {
    console.log(data);
  },
  error: function(error) {
    console.error(error);
  }
});

// 原生 JavaScript (使用 fetch)
fetch('https://api.example.com/data')
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error(error));

动画效果

jQuery 提供了 animate() 方法,原生 JavaScript 可以使用 CSS 动画或 requestAnimationFrame

// jQuery
$('#element').animate({ opacity: 0.5 }, 1000);

// 原生 JavaScript (使用 CSS)
document.querySelector('#element').style.transition = 'opacity 1s';
document.querySelector('#element').style.opacity = '0.5';

链式调用

jQuery 支持链式调用,原生 JavaScript 可以通过返回对象本身实现类似功能。

// jQuery
$('#element').css('color', 'red').addClass('active');

// 原生 JavaScript (自定义实现)
function $(selector) {
  const element = document.querySelector(selector);
  return {
    css: function(property, value) {
      element.style[property] = value;
      return this;
    },
    addClass: function(className) {
      element.classList.add(className);
      return this;
    }
  };
}

$('#element').css('color', 'red').addClass('active');

总结

原生 JavaScript 可以实现 jQuery 的大部分功能,但需要更多的代码。如果需要简化开发,可以考虑使用现代前端框架如 React、Vue 或 Angular,它们提供了更强大的工具和更好的性能。

标签: jsjq
分享给朋友:

相关文章

js实现乘

js实现乘

JavaScript 实现乘法运算 在 JavaScript 中实现乘法运算可以通过多种方式完成,包括基本运算符、函数封装以及高级算法(如大数乘法)。以下是几种常见方法: 使用基本乘法运算符 Jav…

js 实现vue

js 实现vue

Vue.js 的基本实现 在 JavaScript 中实现 Vue.js 的核心功能,可以通过数据绑定、响应式系统和虚拟 DOM 来实现。以下是实现 Vue.js 核心功能的简化版本。 数据响应式系…

js实现换肤

js实现换肤

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

js实现vue路由

js实现vue路由

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

js图片上传实现

js图片上传实现

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

js实现定位

js实现定位

使用Geolocation API获取当前位置 在JavaScript中,可以通过浏览器内置的Geolocation API获取用户的地理位置信息。该API需要用户授权才能访问位置数据。 if (n…