浅谈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日

相关文章

  • 详解js运算符单竖杠“|”与“||”的用法和作用介绍

    详解js运算符单竖杠“|”与“||”的用法和作用介绍 在JavaScript中,有时候我们需要对变量或表达式进行逻辑运算。这就需要运算符和操作数的使用。在这里,我们将讲解两个常用的逻辑运算符:单竖杠“|”和“||”。 单竖杠“|”运算符 单竖杠“|”用于进行位运算。当运算符左右两侧的值都是整数时,它将对它们进行按位或运算。按位或运算将二进制中每一位进行比较,…

    JavaScript 2023年5月28日
    00
  • Android重写View实现全新的控件

    那么让我们来详细讲解一下“Android重写View实现全新的控件”的完整攻略。 什么是重写View 在Android中,View是用户界面的基本构建单元,绝大部分控件都是基于View的,因此我们可以通过重写View来实现我们自定义的控件。 在进行View的重写时,通常需要继承View或者它的子类,然后重写对应的方法。View的子类较多,它们之间的主要区别在…

    JavaScript 2023年6月11日
    00
  • 基于JavaScript实现前端文件的断点续传

    首先,前端实现文件的上传需要使用HTML5新增的文件上传API,即File和FileReader对象。而实现文件的断点续传可以通过Ajax方式向后台传递文件分块,后台接口则可以将分块数据合并成完整的文件。 以下是一个完整的前端基于JavaScript实现文件的断点续传的攻略: 1. HTML页面设计 在HTML页面中需要添加一个文件上传的表单,和一个进度条用…

    JavaScript 2023年5月27日
    00
  • 学习JavaScript设计模式(链式调用)

    学习 JavaScript 设计模式是提高前端开发技能的重要途径之一。链式调用是其中较为常见的一种模式,它在 jQuery 等插件库中得到广泛应用。下面是学习 JavaScript 设计模式(链式调用)的完整攻略一: 1. 什么是链式调用 链式调用是一种 JavaScript 设计模式,它允许在单行代码中执行多个操作。在链式调用的过程中,一个对象的方法会返回…

    JavaScript 2023年6月10日
    00
  • 作为程序员必须了解的缩写和专业名词

    作为程序员必须了解的缩写和专业名词 作为一名程序员,掌握一些缩写和专业术语是非常重要的,可以帮助我们更快速地理解代码和文档,也能够更好地和同行进行沟通交流。下面是一些必须了解的缩写和专业名词: 常见缩写 API API是Application Programming Interface的缩写, 指的是应用程序编程接口,是一组定义、规范了应用程序中数据和功能的…

    JavaScript 2023年5月28日
    00
  • JS之Date对象和获取系统当前时间详解

    当我们开发网站时,经常需要操作时间。JavaScript中提供了Date对象,可以方便地进行时间相关的操作。 Date对象 Date对象可以获取当前时间,也可以设置指定时间,提供了很多方法操作时间。 获取当前时间 获取当前时间可以使用Date对象的构造函数不传递任何参数,也可以使用now方法。 // 使用构造函数获取当前时间 let now1 = new D…

    JavaScript 2023年5月27日
    00
  • Python实现网页截图(PyQT5)过程解析

    下面我将详细讲解如何使用Python和PyQT5实现网页截图。 准备工作 在使用Python实现网页截图之前,需要先安装PyQT5和selenium库。可以使用如下的命令来安装: pip install PyQt5 selenium 除此之外,还需要下载Chrome浏览器对应版本的驱动程序。可以到ChromeDriver官网下载对应的驱动程序。 实现过程 导…

    JavaScript 2023年6月11日
    00
  • 小发现之浅谈location.search与location.hash的问题

    标题:小发现之浅谈location.search与location.hash的问题 背景介绍 location.search与location.hash是前端开发中常用的两个属性,它们分别用于获取当前url中带的查询参数和锚点参数。这两个属性的使用方式不同,而且在某些情况下会出现一些问题,需要特别注意。 location.search与location.ha…

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