JS 节点笔记
h5新增自定义属性
<div class="conter" id="conter"></div>
var div = document.getElementById("conter") div.setAttribute("data-index", 1) div.setAttribute("data-list-name", 1000)
// getAttribute获取
console.log(div.dataset);
console.log(div.getAttribute("class"));
console.log(div.getAttribute("data-index")); // h5新增获取自定义属性方法
console.log(div.dataset.index);
console.log(div.dataset["index"]); console.log(div.dataset.listName);
console.log(div.dataset["listName"]);
节点操作
节点层次
1、父级节点
<div class="box">
<span class="erweima">2</span>
<ul class="ul">
<li>2</li>
<li>2</li>
</ul>
</div>
var box = document.querySelector("box")
console.log(box);
// 父节点parentNode
var erweima = document.querySelector(".erweima")
// 得到的是离他最近的节点 如果没有父节点就返回null
console.log(erweima.parentNode);
子节点
<ol class="ol">
<li>123</li>
<li>123</li>
<li>123</li>
<li>123</li>
<li>123</li>
</ol>
// 子节点childNode 获取到所有的子节点 包括换行
var ul = document.querySelector(".ul")
// console.log(ul.childNodes);
console.log(ul.children); var ol = document.querySelector(".ol")
// firstChild获取到的是第一个节点
console.log(ol.firstChild);
// lastchild获取到的啊最后一个节点
console.log(ol.lastChild); // 兼容性问题不推荐使用 ie9以上支持
console.log(ol.firstElementChild);
console.log(ol.lastElementChild); // 实际开发常用的是
console.log(ol.children[0]);
console.log(ol.children[ol.children.length - 1]);
兼容性问题
<div class="group">ssss</div>
<span>4556</span>
var div = document.querySelector(".group")
console.log(div.nextSibling);
console.log(div.nextElementSibling);
console.log(div.previousElementSibling);
创建节点
注意
<ul class="ul2">
<li>123</li>
</ul>
<script>
// 创建节点
var li = document.createElement("li")
var lis = document.createElement("li")
// 添加节点node.appendChild(child) node父节点 child是子节点
var ul = document.querySelector(".ul2")
ul.appendChild(li)
ul.insertBefore(lis, ul.children[0])
</script>
删除节点
<button class="button2">删除</button>
<ul class="ul3">
<li>1</li>
<li>12</li>
<li>13</li>
</ul>
<script>
var ul = document.querySelector(".ul3")
var btn = document.querySelector(".button2")
btn.onclick = function () {
if (ul.children.length == 0) {
this.disabled = false
} else {
ul.removeChild(ul.children[0])
} }
</script>
复制节点
<ul class="ul4">
<li>1</li>
<li>16</li>
<li>12</li>
<li>13</li>
</ul>
<script>
var ul = document.querySelector(".ul4")
var lis = ul.children[0].cloneNode(true);
ul.appendChild(lis)
</script>
JS 节点笔记的更多相关文章
- React.js入门笔记
# React.js入门笔记 核心提示 这是本人学习react.js的第一篇入门笔记,估计也会是该系列涵盖内容最多的笔记,主要内容来自英文官方文档的快速上手部分和阮一峰博客教程.当然,还有我自己尝试的 ...
- JS面向对象笔记二
菜单导航,<JS面向对象笔记一>, 参考书籍:阮一峰之<JavaScript标准参考教程> 一.构造函数和new命令 二.this关键字 三.构造函数和new命令 四.构造函 ...
- JS学习笔记5_DOM
1.DOM节点的常用属性(所有节点都支持) nodeType:元素1,属性2,文本3 nodeName:元素标签名的大写形式 nodeValue:元素节点为null,文本节点为文本内容,属性节点为属性 ...
- 【转】Backbone.js学习笔记(二)细说MVC
文章转自: http://segmentfault.com/a/1190000002666658 对于初学backbone.js的同学可以先参考我这篇文章:Backbone.js学习笔记(一) Bac ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- Vue.js学习笔记(2)vue-router
vue中vue-router的使用:
- js读书笔记
js读书笔记 基本类型的基本函数总结 1. Boolean() 数据类型 转换为true的值 转换为false的值 Boolean true false String 任何非空字符串 "&q ...
- 廖雪峰js教程笔记13 插入DOM
当我们获得了某个DOM节点,想在这个DOM节点内插入新的DOM,应该如何做? 如果这个DOM节点是空的,例如,<div></div>,那么,直接使用innerHTML = '& ...
- js 节点 document html css 表单节点操作
js 节点 document html css 表单节点操作 节点操作:访问.属性.创建 (1)节点的访问:firstChild.lastChild.childNodes.parentChild(父子 ...
随机推荐
- 机器学习实战基础(二十六):sklearn中的降维算法PCA和SVD(七) 附录
- 数据可视化之DAX篇(十三)熟练使用FORMAT函数,轻松自定义数据格式
https://zhuanlan.zhihu.com/p/64420449 在进行数据分析时,需要对某个数据进行格式调整的情形经常会遇到,在DAX中有一个专门进行格式调整的函数:FORMAT. 其实对 ...
- redis入门指南(三)—— 事务、过期时间、SORT命令、消息通知与管道
写在前面 学习<redis入门指南>笔记,结合实践,只记录重要,明确,属于新知的相关内容. 事务 1.redis中的事务由一组命令的集合组成,要么都执行,要么都不执行,同时redis的事务 ...
- 这就是Java代码生成器的制作流程
1. 前言 前几天写了篇关于Mybatis Plus代码生成器的文章,不少同学私下问我这个代码生成器是如何运作的,为什么要用到一些模板引擎,所以今天来说明下代码生成器的流程. 2. 代码生成器的使用场 ...
- DQL:查询表中的记录
DQL:查询表中的记录 * select * from 表名; 1. 语法: select 字段列表 from 表名列表 where 条件列表 group by 分组字段 having 分组之后的条件 ...
- Ant-Design-Vue中关于Form组件的使用
1.创建form表单的两种方式,不同的方式在js中创建表单的方式也不同 方式1:一般使用在搜索表单中,只需要双向绑定数据即可,那就使用这种方法即可 <template> <a-for ...
- DEBUG ArrayList
1,ArrayList面试必问 说说ArrayList和LinkedList的区别? ArrayList基于数组实现,LinkedList基于链表实现,不同的数据结构决定了ArrayList查询效率比 ...
- Github下载文件慢试试这款工具吧
https://g.widora.cn 可能随时崩溃哦~~暂时还不支持超过 2GB 的仓库,服务器选自日本 vultr 设计思路:通过在日本的 VPS clone -r 代码,下载后压缩成 zip 再 ...
- CCNA - Part10 数据包的通信过程
这篇文章主要是对数据包在同网段和不同网段的转发流程梳理,使用 ping 命令进行实际抓包测试. 网关的概念: 对于像 PC 等终端设备来说,通过交换机可以实现同网段的通信.但如果想要给其他网段发生数据 ...
- 设计模式:decade模式
目的:为系统中的一组联动接口提供一个高层次的接口,从而降低系统的复杂性 优点:使用窗口模式可以使得接口变少 继承关系图: 例子: class Subsystem1 { public: void Ope ...