-
通过ID获取(getElementById)
-
通过name属性(getElementsByName)
-
通过标签名(getElementsByTagName)
-
通过类名(getElementsByClassName)
-
通过选择器获取一个元素(querySelector)
-
通过选择器获取一组元素(querySelectorAll)
-
获取html的方法(document.documentElement)
-
获取body的方法(document.body)
1.通过ID获取(getElementById)
// 1 获取元素节点
// 通过id的方式( 通过id查找元素,大小写敏感,如果有多个id只找到第一个)
document.getElementById('div1');
-
上下文必须是document。
-
必须传参数,参数是string类型,是获取元素的id。
-
返回值只获取到一个元素,没有找到返回null。
2.通过类名(getElementsByClassName)
// 通过类名查找元素,多个类名用空格分隔,得到一个HTMLCollection(一个元素集合,有length属性,可以通过索引号访问里面的某一个元素)
var cls = document.getElementsByClassName('a b');
console.log(cls);
-
参数是元素的类名。
-
返回值是一个类数组,没有找到返回空数组
3.通过name属性(getElementsByName)
// 通过name属性查找,返回一个NodeList(一个节点集合,有length属性,可以通过索引号访问)
var nm = document.getElementsByName('c');
console.log(nm);
4.通过标签名(getElementsByTagName)
// 通过标签名查找元素 返回一个HTMLCollection
document.getElementsByTagName('div');
-
参数是是获取元素的标签名属性,不区分大小写。
-
返回值是一个类数组,没有找到返回空数组
5.通过选择器获取一个元素(querySelector)
document.querySelector('.animated')
-
参数是选择器,如:”div .className”。
-
返回单个node,如果有多个匹配元素就返回第一个
6.通过选择器获取一组元素(querySelectorAll)
document.querySelector('.animated')
- 返回值是一个类数组
--------💖分割线💖--------
获取节点
在文档对象模型 (DOM) 中,每个节点都是一个对象。DOM 节点有三个重要的属性
1. nodeName : 节点的名称
2. nodeValue :节点的值
3. nodeType :节点的类型
一、nodeName 属性: 节点的名称,是只读的。
-
元素节点的 nodeName 与标签名相同
-
属性节点的 nodeName 是属性的名称
-
文本节点的 nodeName 永远是 #text
-
文档节点的 nodeName 永远是 #document
二、nodeValue 属性:节点的值
-
元素节点的 nodeValue 是 undefined 或 null
-
文本节点的 nodeValue 是文本自身
-
属性节点的 nodeValue 是属性的值
三、nodeType 属性: 节点的类型,是只读的。以下常用的几种结点类型:
-
元素类型 节点类型
-
元素 1
-
属性 2
-
文本 3 空格也是返回3
-
注释 8
-
文档 9
🍀创建节点:
1.创建节点:createElement(‘’)
// 创建元素,只是创建出来并未添加到html中,需要与appendChild 配合使用
var elem = document.createElement('p');
elem.id = 'test';
elem.style = 'color: red';
elem.innerHTML = '我是新创建的节点';
document.body.appendChild(elem);
2.插入节点:appendChild ()
-
用法是: parent.appendChild(child)
-
会将child节点添加到parent里的最后面
-
如果子节点原本就存在,会移除原节点,添加新节点 到最后,但是事件会保留
var oNewp=document.createElement("p");
var oText=document.createTextNode("World Hello");
oNewp.appendChild(oText);
2-1.插入节点:insertBefore()
- 用法是 parent.insertBefore(newNode,refNode);
var oOldp=document.body.getElementsByTagName("p")[0];
document.body.insertBefore(oNewp,oOldp);
🍀删除节点
1.删除节点:removeChild
-
用法是:parent.removeChild(child)
-
如果删除的不是父元素的子节点会报错
var op=document.body.getElementsByTagName("p")[0];
op.parentNode.removeChild(op);
🍀克隆节点
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
中…(img-Nzm5bkcA-1714934141043)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!