浅谈JS读取DOM对象(标签)的自定义属性

一、什么是DOM对象自定义属性

在HTML标签中,我们可以自定义属性,比如:<div data-id="123">自定义属性</div>,这里的data-id即为自定义属性。

在JavaScript中,我们可以通过DOM对象的dataset属性来读取自定义属性的值。

二、JS读取DOM对象(标签)的自定义属性

1.读取单个DOM对象的自定义属性

通过DOM对象的dataset属性中的键值对读取自定义属性值,示例如下:

<div id="myDiv" data-id="123">自定义属性</div>
var div = document.getElementById("myDiv");
var id = div.dataset.id;
console.log(id); //输出:123

2.读取多个DOM对象的自定义属性

如果需要读取多个DOM对象的自定义属性,可以采用循环遍历所有的DOM对象,示例如下:

<div class="myDiv" data-id="123">自定义属性1</div>
<div class="myDiv" data-id="456">自定义属性2</div>
var divs = document.getElementsByClassName("myDiv");
for (var i = 0; i < divs.length; i++) {
  var id = divs[i].dataset.id;
  console.log(id);
}
//输出:123
//输出:456

三、示例说明

1.示例一:利用自定义属性实现图片预加载

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>图片预加载</title>
    <style>
      img {
        display: none;
      }
    </style>
  </head>
  <body>
    <img data-src="./image/1.jpg" />
    <img data-src="./image/2.jpg" />
    <img data-src="./image/3.jpg" />
    <img data-src="./image/4.jpg" />
    <img data-src="./image/5.jpg" />
    <script>
      var imgs = document.getElementsByTagName("img");
      for (var i = 0; i < imgs.length; i++) {
        var src = imgs[i].dataset.src;
        if (src) {
          imgs[i].src = src;
        }
      }
    </script>
  </body>
</html>

在这个例子中,我们利用自定义属性data-src来保存需要预加载的图片地址,然后通过遍历所有的img标签,将地址赋值给src属性实现了图片的预加载。

2.示例二:根据自定义属性值设置CSS样式

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>根据自定义属性值设置CSS样式</title>
    <style>
      .myDiv[data-color="green"] {
        color: green;
      }
      .myDiv[data-color="blue"] {
        color: blue;
      }
    </style>
  </head>
  <body>
    <div class="myDiv" data-color="green">绿色字体</div>
    <div class="myDiv" data-color="blue">蓝色字体</div>
  </body>
</html>

在这个例子中,我们利用自定义属性data-color来保存需要设置的字体颜色,然后通过设置不同的CSS样式实现了根据自定义属性值设置CSS样式的效果。

以上就是浅谈JS读取DOM对象(标签)的自定义属性的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:浅谈JS读取DOM对象(标签)的自定义属性 - Python技术站

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

相关文章

  • JavaScript中的事件循环机制及其运行原理

    JavaScript中的事件循环机制及其运行原理 JavaScript是一种单线程语言,这意味着一次只能执行一个任务。但是,JavaScript中有许多异步操作(例如网络请求、定时器等)需要在后台执行而不会阻塞代码运行,这就是事件循环机制的作用。 事件循环机制的基本概念 事件循环是JavaScript的一个重要特性,它基于一个简单的原理:执行栈为空时,Jav…

    JavaScript 2023年6月11日
    00
  • vue使用fengMap速度慢的原因分析

    题目要求分析vue使用fengMap速度慢的原因,那么我们就需要具体分析vue与fengMap在集成和使用中可能存在的问题。以下是可能存在的原因和解决方法: 原因分析一:Vue组件过多 可能会存在vue组件过多导致页面渲染缓慢的问题。在使用fengMap时,我们需要引用fengMap的JS和CSS文件,同时使用fengMap提供的组件来完成我们需要的业务功能…

    JavaScript 2023年6月10日
    00
  • JavaScript Reduce使用详解

    JavaScript Reduce使用详解 在JavaScript中,数组的reduce方法可以让我们使用自定义的函数将数组中的所有元素汇总为一个值,该值既可以是一个数字,也可以是一个对象或数组。 reduce方法的语法 reduce方法的语法如下: array.reduce(callback[, initialValue]) 其中,参数callback为一…

    JavaScript 2023年5月27日
    00
  • 深入理解vue3中的reactive()

    当谈到Vue的响应式系统时,有一个重要的函数:reactive()。在Vue3中,reactive()是我们创建响应式对象的首选方法。 1. reactive()函数的作用 reactive()函数可将一个普通JavaScript对象转换为响应式对象,从而使对象的属性变为可观察和自动更新的。这意味着,当响应式对象的某个属性发生变化时,Vue会自动使用新的值重…

    JavaScript 2023年6月10日
    00
  • JavaScript面试开发常用的知识点总结

    JavaScript面试开发常用的知识点总结 为了帮助准备 JavaScript 面试的同学们更好地备战,我总结了 JavaScript 面试开发常用的知识点,并列出了一些常见的面试题目和解答。以下是具体内容: JavaScript基础知识点 变量与类型 JavaScript 变量的声明可以使用 var,let 和 const。其中,var 是 ES5 中声…

    JavaScript 2023年5月18日
    00
  • JavaScript数组函数unshift、shift、pop、push使用实例

    JavaScript数组函数unshift、shift、pop、push使用实例 在JavaScript中,数组是一种非常重要的数据结构。在进行数组处理时,通常需要使用四个重要的数组函数unshift、shift、pop、push。本文将会对它们进行详细讲解,并提供示例来帮助您了解它们的使用。 unshift()函数 unshift()函数可以向数组的开头添…

    JavaScript 2023年5月27日
    00
  • html5+javascript实现简单上传的注意细节

    当我们需要在网站中添加文件上传功能时,可以使用HTML5和JavaScript来实现。但是在实现过程中,需要注意一些细节才能确保上传功能的稳定性和安全性。以下是实现简单上传的注意细节攻略: HTML5中的文件上传 HTML5通过 input 标签的 type=”file” 属性提供了文件上传功能。以下是HTML5文件上传的注意事项: 1.设定合适的 acce…

    JavaScript 2023年5月27日
    00
  • 给moz-firefox下添加IE方法和属性

    完整攻略:给moz-firefox下添加IE方法和属性 1. 前言 在开发前端工程时,我们常常需要考虑不同浏览器的兼容性。由于浏览器的实现技术不同,兼容性问题诸多。在开发过程中,为了适应不同的浏览器,我们会需要使用到浏览器的特定方法和属性。本文将介绍在moz-firefox下添加IE方法和属性的完整攻略。 2. 方案 我们可以使用浏览器对象检测技术(Brow…

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