当前位置:首页 > JavaScript

js实现attr

2026-03-14 03:34:27JavaScript

JavaScript 实现类似 jQuery 的 attr() 方法

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

获取元素属性

使用 getAttribute() 方法获取元素属性值:

const element = document.getElementById('myElement');
const value = element.getAttribute('data-attr');

设置元素属性

使用 setAttribute() 方法设置元素属性:

element.setAttribute('data-attr', 'newValue');

移除元素属性

使用 removeAttribute() 方法移除属性:

element.removeAttribute('data-attr');

自定义 attr() 函数

可以封装一个类似 jQuery 的 attr() 函数:

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

// 使用示例
const el = document.querySelector('#test');
attr(el, 'data-id', '123'); // 设置属性
const id = attr(el, 'data-id'); // 获取属性

处理布尔属性

对于 checked、disabled 等布尔属性,可以直接操作 DOM 属性:

// 设置布尔属性
element.checked = true;

// 获取布尔属性
const isChecked = element.checked;

注意事项

  1. HTML 属性和 DOM 属性有所不同,getAttribute() 获取的是 HTML 属性,而直接访问属性如 element.id 获取的是 DOM 属性
  2. 自定义数据属性建议使用 dataset 属性:
    
    // 获取 data-* 属性
    const dataValue = element.dataset.attrName;

// 设置 data-* 属性 element.dataset.attrName = 'value';

js实现attr



3. 对于样式操作,建议使用 `classList` 和 `style` 属性而非 `getAttribute/setAttribute`

标签: jsattr
分享给朋友:

相关文章

js实现延迟

js实现延迟

实现延迟的方法 在JavaScript中,实现延迟操作有多种方式,以下是几种常见的方法: 使用setTimeout函数 setTimeout是JavaScript中最常用的延迟执行方法。它接受一个回…

js类实现

js类实现

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

js实现图

js实现图

JavaScript 实现图的常用方法 在 JavaScript 中,图(Graph)可以通过多种方式实现,常见的包括邻接表(Adjacency List)和邻接矩阵(Adjacency Matrix…

js树实现

js树实现

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

js实现滑动

js实现滑动

实现滑动效果的方法 在JavaScript中实现滑动效果可以通过多种方式完成,以下是几种常见的实现方法: 使用CSS过渡和JavaScript触发 通过CSS定义过渡效果,JavaScript控制触…

js实现 拖动

js实现 拖动

实现拖动的步骤 HTML 结构 创建一个可拖动的元素和一个放置区域: <div id="draggable" draggable="true">拖动我</div> <d…