当前位置:首页 > JavaScript

js实现attr

2026-02-01 05:15:48JavaScript

实现 attr 方法

在 JavaScript 中,可以通过原生 DOM 操作或 jQuery 类似的方式实现元素的属性(attr)获取和设置功能。以下是两种常见的实现方式:

原生 JavaScript 实现

通过 getAttributesetAttribute 方法实现属性的获取和设置:

function attr(element, attributeName, value) {
  if (value === undefined) {
    return element.getAttribute(attributeName);
  } else {
    element.setAttribute(attributeName, value);
    return element;
  }
}

使用示例:

js实现attr

const div = document.querySelector('div');
attr(div, 'id', 'myDiv'); // 设置属性
console.log(attr(div, 'id')); // 获取属性,输出 'myDiv'

链式调用扩展

如果需要支持链式调用(类似 jQuery),可以扩展 Element.prototype

Element.prototype.attr = function(attributeName, value) {
  if (value === undefined) {
    return this.getAttribute(attributeName);
  } else {
    this.setAttribute(attributeName, value);
    return this;
  }
};

使用示例:

js实现attr

document.querySelector('div')
  .attr('id', 'myDiv')
  .attr('class', 'container');

支持多属性设置

如果需要一次性设置多个属性,可以扩展功能:

function attr(element, attributeName, value) {
  if (typeof attributeName === 'object') {
    for (const key in attributeName) {
      element.setAttribute(key, attributeName[key]);
    }
    return element;
  } else if (value === undefined) {
    return element.getAttribute(attributeName);
  } else {
    element.setAttribute(attributeName, value);
    return element;
  }
}

使用示例:

attr(document.querySelector('div'), {
  id: 'myDiv',
  class: 'container'
});

注意事项

  • 原生 getAttribute 返回的是字符串,而 jQuery 的 attr 可能返回其他类型(如 checked 返回布尔值)。
  • 修改原型(Element.prototype)可能与其他库冲突,需谨慎使用。
  • 现代前端开发推荐使用 dataset 处理自定义数据属性(data-*)。

标签: jsattr
分享给朋友:

相关文章

js实现vue路由

js实现vue路由

Vue路由基础实现 使用Vue Router实现前端路由需要先安装并配置路由库。Vue Router是Vue.js官方的路由管理器。 安装Vue Router: npm install vue-r…

js轮播图实现原理

js轮播图实现原理

轮播图的基本原理 轮播图通过动态切换显示的内容(图片、文本等)实现视觉上的滑动效果。核心原理是利用CSS和JavaScript控制元素的显示与隐藏,或通过变换位置实现滑动动画。 实现方法一:CSS…

js实现vr

js实现vr

使用WebXR API实现VR体验 WebXR是浏览器中实现VR和AR体验的标准API,它取代了早期的WebVR。现代浏览器如Chrome、Edge和Firefox已支持WebXR。 // 初始化W…

js实现二叉树

js实现二叉树

二叉树的基本概念 二叉树是一种树形数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树的常见操作包括插入、删除、遍历等。 二叉树的节点定义 在JavaScript中,二叉树的节点可…

js类实现

js类实现

使用类实现 JavaScript 功能 在 JavaScript 中,类(Class)是一种语法糖,基于原型继承机制。通过 class 关键字可以更直观地定义对象模板。 基本类定义 class…

js钟表实现

js钟表实现

实现JavaScript钟表的基本方法 创建一个简单的JavaScript钟表可以通过以下步骤完成,涵盖数字和模拟两种形式。 数字钟表实现 HTML结构只需一个显示时间的容器: <div i…