浅谈js中的attributes和Attribute的用法与区别

下面是关于“浅谈js中的attributes和Attribute的用法与区别”的完整攻略。

什么是attributes和Attribute

在JavaScript中,元素属性分为attributes和Attribute两种。

  • attributes是DOM节点自带的特征,包括style、class、id等;
  • Attribute是应用操作属性值的一个接口,包括getAttribute、setAttribute和removeAttribute三个方法。

Attributes和Attribute的区别

Attributes和Attribute的最大区别,在于前者返回的不一定是直接写在标签内的值。比如,如果一个input标签没有设置value属性的话,那么直接通过元素节点的value属性来访问这个标签的值一定为空字符串。而直接从attributes中获取value属性,会获得一个包含了input的value和defaultValue两个属性并存的NamedNodeMap集合。

<input id="input1" type="text">
<script>
console.log(document.getElementById("input1").value); // ""
console.log(document.getElementById("input1").attributes["value"].value); // "undefined"
</script>

从上面的例子可以看出,getAttribute方法返回的是属性值的字符串,而attributes对象存储了属性Map列表。

Attributes和Attribute的用法

getAttribute

getAttribute(属性名)方法用于获取指定属性名的属性值。如果指定属性不存在,则返回null。

例如,通过以下代码获取input标签的value属性值:

<input id="exampleInput" type="text" value="www.baidu.com">
<script>
console.log(document.getElementById("exampleInput").getAttribute("value")); // "www.baidu.com"
</script>

setAttribute

setAttribute(属性名, 值)方法用于设置指定属性名和属性值。如果指定属性名不存在,则新建该属性。如果已存在,修改该属性值为新值。

例如,通过以下代码设置input标签的value属性值为“www.jiuai.com”:

<input id="exampleInput" type="text">
<script>
document.getElementById("exampleInput").setAttribute("value", "www.jiuai.com");
console.log(document.getElementById("exampleInput").value); // "www.jiuai.com"
</script>

removeAttribute

removeAttribute(属性名)方法用于移除指定属性。该方法不会抛出错误即使指定的属性不存在。

例如,通过以下代码移除input标签的value属性:

<input id="exampleInput" type="text" value="www.baidu.com">
<script>
document.getElementById("exampleInput").removeAttribute("value");
console.log(document.getElementById("exampleInput").getAttribute("value")); // null
</script>

小结

以上就是“浅谈js中的attributes和Attribute的用法与区别”的攻略。其中,attributes是DOM节点自带的特征,Attribute是应用操作属性值的一个接口。getAttribute方法用于获取指定属性名的属性值;setAttribute方法用于设置指定属性名和属性值;removeAttribute方法用于移除指定属性。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:浅谈js中的attributes和Attribute的用法与区别 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • JavaScript 数组常见操作技巧

    JavaScript 数组常见操作技巧 JavaScript 中的数组是非常常见和重要的数据结构之一,常用于存储和处理一系列的数据。在实际的开发中,经常需要对数组进行各种各样的操作,以下是 JavaScript 数组常见的操作技巧: 创建数组 在 JavaScript 中,可以通过以下方式创建数组: 直接量方式 直接将元素放在方括号中,以逗号分隔 var a…

    JavaScript 2023年5月18日
    00
  • JavaScript数组、json对象、eval()函数用法实例分析

    接下来我将详细讲解“JavaScript数组、JSON对象、eval()函数用法实例分析”的完整攻略。 一、JavaScript数组 1.1 定义数组 JavaScript数组是一种数据类型,用于存储多个数据,可以是数值、字符串、对象等。定义一个数组可以使用以下语法: var myArray = new Array(); // 使用 new 操作符创建一个空…

    JavaScript 2023年5月27日
    00
  • 浅析JavaScript中的变量复制、参数传递和作用域链

    浅析JavaScript中的变量复制、参数传递和作用域链 在JavaScript中,变量复制、参数传递和作用域链是非常重要的概念。正确理解它们有助于我们更好地编写JavaScript代码。下面将针对这三个方面进行详细讲解。 变量复制 在JavaScript中,变量赋值是通过复制变量的值实现的。当一个变量被赋值给另一个变量时,实际上是将变量的值复制给另一个变量…

    JavaScript 2023年6月11日
    00
  • 使用layui实现的左侧菜单栏以及动态操作tab项方法

    好的。使用layui实现左侧菜单栏和动态操作tab项是一个比较常见的需求,以下是实现的详细攻略。 实现左侧菜单栏 使用tree组件渲染菜单 LayUI提供了tree组件用于展示菜单栏,我们可以使用tree组件来渲染左侧菜单。 <div class="layui-col-md3"> <div class="lay…

    JavaScript 2023年6月10日
    00
  • JavaScript实现的多种鼠标拖放效果

    下面我就为你详细讲解一下JavaScript实现多种鼠标拖放效果的攻略: 简介 鼠标拖放是前端开发中常用的功能,它给用户带来了便利,同时也提高了用户体验。JavaScript是前端开发中最常用的语言之一,所以我们可以通过JavaScript来实现鼠标拖放效果。 方法 实现鼠标拖放效果可以使用HTML5的Drag和Drop API,也可以使用原生JavaScr…

    JavaScript 2023年6月10日
    00
  • 详解js静态资源文件请求的处理

    下面是关于“详解JS静态资源文件请求的处理”的完整攻略: 前言 JavaScript作为前端开发中不可或缺的一环,其所依赖的静态资源文件如CSS、图片、字体等也同样不可或缺。在网站开发中,如何优化这些资源文件的请求方式,以提高页面加载速度和用户体验,是一个很重要的问题。本文将对JavaScript静态资源文件请求的处理进行详细讲解。 加载方式 JavaScr…

    JavaScript 2023年5月27日
    00
  • networkInformation.downlink测用户网速方法详解

    networkInformation.downlink测用户网速方法详解 在当前移动互联网时代,提高用户体验成为互联网公司重中之重,而给用户提供良好的网速体验则是其中关键之一。在前端开发中,我们可以使用 networkInformation.downlink 对用户的网速进行测量,从而更好的优化页面加载速度和改善用户体验。 什么是networkInforma…

    JavaScript 2023年6月11日
    00
  • js操作iframe的一些方法介绍

    下面是详细讲解“js操作iframe的一些方法介绍”的完整攻略。 一、iframe简介 <iframe>是HTML中用于在页面中嵌入另外一个HTML页面的标签。在嵌入的页面加载完毕后,我们可以使用JavaScript操作<iframe>中的内容。 二、iframe的常用属性 src:指定嵌入的页面地址。 name:为<ifram…

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部