JavaScript DOM属性和方法之attribute属性对象

在HTML的DOM中,attribute对象表示HTML属性。HTML属性始终属于HTML元素,它在DOM节点中被称为属性节点。在DOM中,NamedNodeMap对象表示元素属性节点的无序集合,我们可以通过指定的索引访问指定的属性。通过element对象的attribute属性可以返回该元素节点的所有属性节点,也就是NamedNodeMap,而通过element对象的getAttributeNode()方法可以得到指定的属性节点

一、attribute对象属性

1、attr.isId

这个属性用来判断,如果属性节点是id类型,则返回true,否则返回false。

2、attr.name 和 attr.value

attr.name属性可以返回属性节点的名字,用于替代attr.nodeName属性

attr.value属性可以返回属性节点的值,用于替代attr.nodeValue属性

javascript 复制代码
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>知数SEO_vx:zhishunet</title>

</head>
<body>
<div id="content" name="知数SEO" class="font">知数SEO</div>
<button onclick="getName()">获取属性节点的名字和值</button>
</body>
<script>
    function getName(){
        var attrs = document.getElementById('content').attributes;
        console.log(attrs);
        var name = attrs[0].name;
        var value = attrs[0].value;
        console.log(name,value);  // id content
    }
</script>
</html>
二、attribute对象方法

attribute对象并没有对性的方法,而它的集合也就是属性集合NameNodeMap有两个常用的方法

  • getNameItem() 返回指定的属性节点
  • setNameItem() 设置指定的属性节点
javascript 复制代码
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>知数SEO_vx:zhishunet</title>
    <style>
        .font{color:red}
    </style>
</head>
<body>
<div id="content" name="zhishuseo">知数SEO</div>
<button onclick="getAttr()">获取属性节点</button>
<button onclick="setAttr()">设置属性节点</button>
</body>
<script>
    var attrs = document.getElementById('content').attributes;
    // 获取指定属性
    function getAttr(){
        var name = attrs.getNamedItem('name');
        console.log(name);
    }
    // 设置指定属性
    function setAttr(){
        var classAttr = document.createAttribute('class');
        classAttr.value = 'font';
        attrs.setNamedItem(classAttr);
    }
</script>
</html>
相关推荐
古译汉书几秒前
嵌入式铁头山羊stm32-ADC实现定时器触发的注入序列的单通道转换-Day26
开发语言·数据结构·stm32·单片机·嵌入式硬件·算法
JohnYan22 分钟前
工作笔记 - 微信消息发送和处理
javascript·后端·微信
计算机毕业设计木哥1 小时前
计算机毕设选题:基于Python+Django的B站数据分析系统的设计与实现【源码+文档+调试】
java·开发语言·后端·python·spark·django·课程设计
陈陈爱java1 小时前
Spring八股文
开发语言·javascript·数据库
歪歪1001 小时前
qt creator新手入门以及结合sql server数据库开发
c语言·开发语言·后端·qt·数据库开发
@大迁世界1 小时前
用 popover=“hint“ 打造友好的 HTML 提示:一招让界面更“懂人”
开发语言·前端·javascript·css·html
烛阴1 小时前
【TS 设计模式完全指南】用工厂方法模式打造你的“对象生产线”
javascript·设计模式·typescript
定栓1 小时前
Typescript入门-类型断言讲解
前端·javascript·typescript
xiaominlaopodaren1 小时前
“UI里就可以请求数据库”,让你陌生的 React 特性
前端·javascript·react.js
薛定谔的算法2 小时前
JavaScript数组操作完全指南:从基础到高级
前端·javascript·算法