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

yizhihongxing

下面是关于“浅谈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显示当前时间以及倒计时功能”的完整攻略,分为两步:显示当前时间、制作倒计时。 1. 显示当前时间 步骤1:创建HTML文件 首先,需要创建一个HTML文件,例如index.html。 <!DOCTYPE html> <html> <head> <title>显示当前时间</…

    JavaScript 2023年5月27日
    00
  • 获取当前月(季度/年)的最后一天(set相关操作及应用)

    获取当前月(季度/年)的最后一天,是一项非常实用的时间操作,可以用来生成各种类型的报表或实现预测功能。下面是完整的攻略: 获取当前月的最后一天 获取当前月的最后一天比较简单,可以用JS内置的Date对象来实现: const now = new Date(); const year = now.getFullYear(); const month = now.…

    JavaScript 2023年6月10日
    00
  • JavaScript Number 对象

    以下是关于JavaScript Number对象的完整攻略。 JavaScript Number对象 JavaScript Number对象是一种用于表示数字的数据类型。它可以表示整数、浮点数、负数等。 Number对象提了一些方法,用于对数字进行操作和转换。 创建Number对象 可以使用Number()构造函数来创建JavaScript Number对象…

    JavaScript 2023年5月11日
    00
  • 禁止弹窗中蒙层底部页面跟随滚动的几种方法

    请看以下完整攻略。 背景 在做弹窗时,通常会有蒙层的效果,以防止用户误点击背景操作。但是,这时候出现了一个问题,就是在弹窗出现的时候,蒙层底部的页面也跟着滚动了。影响了用户体验。因此,需要解决这个问题。 解决方案 在这里提供几种解决方案,可以根据实际情况选择其中一种或多种方法。 方案一:禁止body滚动 body { overflow: hidden; } …

    JavaScript 2023年6月11日
    00
  • JavaScript中Array对象用法实例总结

    JavaScript中Array对象用法实例总结 数组(Array)是JavaScript中常用的数据结构,由多个元素组成,每个元素可以是不同的数据类型。在JavaScript中,Array是一种内置对象,提供了多种方法和属性,使其使用非常灵活。 创建数组 JavaScript中创建一个数组可以使用以下两种方式: 使用字面量创建数组 let arr = [1…

    JavaScript 2023年5月27日
    00
  • JavaScript实现大文件上传的示例代码

    让我为您详细讲解JavaScript实现大文件上传的完整攻略。 1. 概述 在网页上传大文件时,为了提高用户体验,通常会采用分片上传的方式,即将大文件分为若干个小块逐个上传,上传成功之后再将这些小块合并成一个完整的文件。而在实现分片上传时,JavaScript是必不可少的。 2. 实现步骤 下面是一份JavaScript实现大文件上传的示例代码,包括以下步骤…

    JavaScript 2023年5月27日
    00
  • JS创建或填充任意长度数组的小技巧汇总

    我来为您详细讲解“JS创建或填充任意长度数组的小技巧汇总”的完整攻略。 标题 JS创建或填充任意长度数组的小技巧汇总 简介 数组(Array)是JavaScript中一个非常常用的数据类型,通过数组我们可以存储一组相关的数据,并且可以通过索引进行访问。但是,在实际编程中,我们经常会遇到一些需求,比如需要创建固定长度的数组或者需要填充任意长度的数组,这时就需要…

    JavaScript 2023年5月27日
    00
  • js中根据字数截取字符串,不能截断url

    根据你的要求,我将详细讲解“JS中根据字数截取字符串,不能截断URL”问题的解决方案。 问题描述 在web开发中,我们可能会遇到这样的场景:需要在显示文本时截取字符串,限制其最大字数,但是需要保留其中的url地址,也就是说,不能简单的按照字符数截断字符串,而是需要在url出现的位置进行裁剪。例如: 原文本:This is an example of a lo…

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