JS 对自定义属性的规范 及 JS 父子节点书写规范

简介: H5 对自定义属性的规范 及 JS 父子节点书写规范

H5 规定自定义属性规范

H5 规定自定义属性应以 data- 开头作为属性名并赋值,并对这种自定义的属性添加了一种获取的方法: element.dataset


首先我们输出一下 dataset,看看 dataset 是什么,可以看到直接输出dataset,输出结果为一个对象 集合,所以dataset 是一个包含了所有 data- 开头的自定义属性的集合


<div data-index="1" data-name="jack"></div>

    <script>

        var div=document.querySelector('div');

        console.log(div.dataset);

    </script>


单独输出有两种形式:dataset.XXX 以及 dataset[XXX]


<div data-index="1" data-name="jack"></div>

    <script>

        var div=document.querySelector('div');

        console.log(div.dataset.index);

        console.log(div.dataset['index']);

    </script>


对于较长的属性命名,如:data-index-first ,获取时需要采用驼峰命名法,dataset.indexFirst


父节点

在获取元素时我们可以利用DOM提供的一系列方法获取,但是这些方法过于繁琐,不简练。所以我们学习节点操作,页面中所有内容都是节点,有文档节点,元素节点,属性节点等,我们主要针对研究的是元素节点


节点(node)拥有 节点类型(nodeType),节点名称(nodeName),节点值(nodeValue)


父节点:

parentNode:得到的是最近的父级节点,找不到的话返回 null


<div class="father">

       <div class="son"></div>

   </div>

   <script>

       var son=document.querySelector('.son');

       console.log(son.parentNode);

   </script>


子节点

有父节点,也有子节点,例如在列表中获取一堆 li 标签就显得很便捷


子节点:

childNodes:可以看出输出结果为9个,但是明明只有四个元素,那剩下的五个是什么呢?可以看到每个 li 标签换行时有回车,回车算文本节点,也就是这个方法会把元素节点和文本节点都输出出来


<ul class="father">

           <li></li>

           <li></li>

           <li></li>

           <li></li>

       </ul>

   <script>

       var father=document.querySelector('.father');

       console.log(father.childNodes);

   </script>



对此也有解决办法,使用 nodeType 得到属性值,元素节点属性值为 1,文本节点属性值为 3,属性节点的属性值为 2,只要判断是否为1即可


<ul class="father">

           <li></li>

           <li></li>

           <li></li>

           <li></li>

       </ul>

   <script>

       var father=document.querySelector('.father');

       for(var i=0;i<father.childNodes.length;i++){

           if(father.childNodes[i].nodeType==1){

               console.log(father.childNodes[i]);

           }

       }

   </script>


但这种方法太繁琐,不使用这种,有另一种方法


更简便的方法:element.children




<ul class="father">

           <li></li>

           <li></li>

           <li></li>

           <li></li>

       </ul>

   <script>

       var father=document.querySelector('.father');

     console.log(father.children);

   </script>



相关文章
|
2月前
|
开发框架 前端开发 JavaScript
在Vue&Element前端项目中,使用FastReport + pdf.js生成并展示自定义报表
在Vue&Element前端项目中,使用FastReport + pdf.js生成并展示自定义报表
|
1月前
|
存储 JavaScript 前端开发
js中map属性
js中map属性
35 1
|
1月前
|
存储 前端开发 JavaScript
javascript 异常问题之为自定义异常提供丰富的上下文信息如何实现
javascript 异常问题之为自定义异常提供丰富的上下文信息如何实现
|
24天前
|
JavaScript 前端开发
JavaScript基础知识-枚举对象中的属性
关于JavaScript基础知识中如何枚举对象属性的介绍。
26 1
JavaScript基础知识-枚举对象中的属性
|
20天前
|
存储 JavaScript 前端开发
JS中的数组有哪些常用操作函数和属性
【9月更文挑战第7天】JS中的数组有哪些常用操作函数和属性
10 1
|
1月前
|
前端开发 程序员
HTML+CSS+JavaScript制作动态七夕表白网页(含音乐+自定义文字)
一年一度的520情人节/七夕情人节/女朋友生日/程序员表白,是不是要给女朋友或者正在追求的妹子一点小惊喜呢,今天这篇博客就分享下前端代码如何实现HTML+CSS+JavaScript制作七夕表白网页(含音乐+自定义文字)。赶紧学会了,来制作属于我们程序员的浪漫吧!
45 0
HTML+CSS+JavaScript制作动态七夕表白网页(含音乐+自定义文字)
|
1月前
|
JavaScript 前端开发
JS - 正则替换富文本内容的所有图片地址,并提取src、alt、style等属性
这篇文章提供了使用JavaScript正则表达式来替换富文本中所有图片地址,并提取`src`、`alt`、`style`等属性的示例代码和方法。
116 1
|
26天前
|
Java 开发者 关系型数据库
JSF与AWS的神秘之旅:如何在云端部署JSF应用,让你的Web应用如虎添翼?
【8月更文挑战第31天】在云计算蓬勃发展的今天,AWS已成为企业级应用的首选平台。本文探讨了在AWS上部署JSF(JavaServer Faces)应用的方法,这是一种广泛使用的Java Web框架。通过了解并利用AWS的基础设施与服务,如EC2、RDS 和 S3,开发者能够高效地部署和管理JSF应用。文章还提供了具体的部署步骤示例,并讨论了使用AWS可能遇到的挑战及应对策略,帮助开发者更好地利用AWS的强大功能,提升Web应用开发效率。
46 0
|
26天前
|
前端开发 微服务 API
微服务浪潮下的JSF革新:如何在分散式架构中构建统一而强大的Web界面
【8月更文挑战第31天】随着微服务架构的兴起,企业将应用拆分成小型、独立的服务以提高系统可维护性和可扩展性。本文探讨如何在微服务架构下构建和部署JavaServer Faces (JSF) 应用,通过RESTful服务实现前后端分离,提升灵活性和适应性。
44 0
|
1月前
|
JavaScript 前端开发 程序员
JS小白请看!一招让你的面试成功率大大提高——规范代码
JS小白请看!一招让你的面试成功率大大提高——规范代码