当前位置:首页 > JavaScript

js实现jq .css

2026-02-03 08:10:07JavaScript

js实现jq .css

js实现jq .css

实现 jQuery 的 .css() 方法

在原生 JavaScript 中,可以通过操作 DOM 元素的 style 属性或 getComputedStyle 方法来模拟 jQuery 的 .css() 功能。以下是几种常见场景的实现方式:

获取样式值

function getStyle(element, property) {
  return window.getComputedStyle(element).getPropertyValue(property);
}

// 使用示例
const div = document.querySelector('div');
const color = getStyle(div, 'color');

设置单个样式属性

function setStyle(element, property, value) {
  element.style[property] = value;
}

// 使用示例
const div = document.querySelector('div');
setStyle(div, 'color', 'red');

设置多个样式属性

function setStyles(element, styles) {
  for (const property in styles) {
    element.style[property] = styles[property];
  }
}

// 使用示例
const div = document.querySelector('div');
setStyles(div, {
  color: 'red',
  backgroundColor: '#fff',
  fontSize: '16px'
});

链式调用实现

function css(element, property, value) {
  if (typeof property === 'object') {
    for (const prop in property) {
      element.style[prop] = property[prop];
    }
  } else if (value === undefined) {
    return window.getComputedStyle(element).getPropertyValue(property);
  } else {
    element.style[property] = value;
  }
  return element;
}

// 使用示例
const div = document.querySelector('div');
// 获取样式
const color = css(div, 'color');
// 设置单个样式
css(div, 'color', 'blue');
// 设置多个样式
css(div, {
  color: 'red',
  background: 'yellow'
});
// 链式调用
css(div, 'color', 'green').css(div, 'fontSize', '20px');

注意事项

  • 使用 getComputedStyle 获取的是最终计算值,包括浏览器默认样式
  • 设置样式时,属性名可以使用驼峰式(如 backgroundColor)或短横线式(如 background-color
  • 对于需要带单位的数值(如 widthheight),需要手动添加单位
  • 修改内联样式会覆盖外部样式表中的规则

这些方法组合起来可以基本实现 jQuery .css() 方法的核心功能,包括获取样式、设置单个或多个样式属性,以及支持链式调用。

标签: jsjq
分享给朋友:

相关文章

js实现复制到剪贴板

js实现复制到剪贴板

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

js手势实现

js手势实现

手势识别实现方法 在JavaScript中实现手势识别通常涉及监听触摸事件(touchstart、touchmove、touchend)或鼠标事件(mousedown、mousemove、mouseu…

js画图实现

js画图实现

使用Canvas API绘制图形 Canvas是HTML5提供的绘图API,通过JavaScript操作Canvas元素可以绘制各种图形。以下是一个简单的示例: <canvas id="myC…

js实现交换

js实现交换

交换变量的方法 在JavaScript中,交换两个变量的值有多种方法。以下是常见的几种实现方式: 使用临时变量 通过引入一个临时变量来存储其中一个变量的值,实现交换: let a = 1; le…

js实现递归

js实现递归

递归的基本概念 递归是一种通过函数调用自身来解决问题的方法。在JavaScript中,递归通常用于处理具有重复子问题或分治结构的数据,例如树形结构、阶乘计算等。 递归的实现要点 基线条件(Base…

js实现点击隐藏

js实现点击隐藏

使用CSS类切换实现点击隐藏 通过添加或移除CSS类来控制元素的显示与隐藏。定义一个隐藏样式类如.hidden { display: none; },通过事件监听切换该类。 document.que…