浅谈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 数组遍历的五种方法如下: 1. forEach() array.forEach(function(currentValue, index, arr), thisValue) forEach() 方法用于调用数组中的每个元素,并将元素传递给回调函数。该方法不会返回新的数组,而是在原始数组中执行回调函数。回调函数可以接收三个参数:当前元素的…

    JavaScript 2023年5月27日
    00
  • javascript 无提示关闭窗口脚本

    标题:如何编写 Javascript 无提示关闭窗口脚本 正文: 如果你需要在网页中编写一个 JavaScript 无提示关闭窗口脚本,可以按照以下步骤进行操作: 一、创建一个 JavaScript 函数 首先,你需要创建一个 JavaScript 函数来关闭窗口。这个函数可以使用 window.close() 方法来关闭当前窗口。请注意,这种方式会直接关闭…

    JavaScript 2023年6月11日
    00
  • DOM节点删除函数removeChild()用法实例

    当你需要从HTML中删除一个或多个节点时,可以使用JavaScript中的removeChild()函数。下面是使用removeChild()函数的详细攻略。 什么是removeChild()函数? removeChild()函数是访问HTML DOM节点的JavaScript方法之一。它可用于删除HTML节点和其子节点,从而实现从HTML文档中删除DOM元…

    JavaScript 2023年6月10日
    00
  • JS URL传中文参数引发的乱码问题

    当JS程序需要将中文参数作为URL请求的一部分时,往往会引发“乱码”的问题。 造成该问题的原因是:URL中只能包含某些预定义的字符,例如字母、数字和少数几个符号。如果我们需要处理的中文字符没有被编码成它们应该代表的URL编码序列,那么这些字符就可能不能被正确地识别和使用。 接下来,我们将提供两种针对此问题的攻略: 攻略1:使用encodeURI和decode…

    JavaScript 2023年5月20日
    00
  • 带参数的function 的自运行效果代码

    请听我慢慢讲解。 在JavaScript中,我们可以定义一个带参数的函数并立即自运行,这是通过使用自运行的匿名函数来实现的。这种类型的函数通常称为IIFE(立即调用的函数表达式)。 下面是一个示例,其中定义了一个带参数的IIFE: (function(x) { console.log(x + 5); })(10); 在这个示例中,我们定义了一个匿名函数并立即…

    JavaScript 2023年6月11日
    00
  • JavaScript的内置对象Math和字符串详解

    Math是JavaScript内置的对象,它包含了数学相关的函数和属性。在编写数字计算相关的代码时,Math对象是非常有用的。本文将详细讲解Math对象的常见函数和属性以及字符串相关的内容。 Math对象 Math对象中封装了大量常用的数学函数和常量,可以用来进行随机数生成、取整、取绝对值、求平方根等一系列常用的操作。 常见函数和用法 下面是常用函数的列表:…

    JavaScript 2023年5月27日
    00
  • 一文带你掌握JavaScript中的箭头函数

    一文带你掌握JavaScript中的箭头函数 在JavaScript中,箭头函数是一种较新的语言特性。相较于传统的函数声明,箭头函数具有更简洁的语法和更明确的this指向,因此逐渐被广泛使用。本文将详细介绍箭头函数的定义、使用场景、注意事项和示例。 定义 箭头函数是一种没有自己this值,必须获取父级作用域中this值得特殊函数语法。它的语法结构比传统的函数…

    JavaScript 2023年6月10日
    00
  • JS清除IE浏览器缓存的方法

    下面是详细讲解“JS清除IE浏览器缓存的方法”的完整攻略。 1. 缓存介绍 在浏览器中,网页会被缓存到本地,从而提高网页的加载速度。但是,如果网页文件被更新了,但是浏览器本地缓存还是老的,就会让用户看到旧的网页。因此,我们需要清除IE浏览器缓存,让用户能够看到最新的网页内容。 2. 清除缓存的方法 下面是清除IE浏览器缓存的方法。 2.1 使用meta标签禁…

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