笔记首发
- 对页面
删除
一个节点,增加
一个节点- 对某一个节点
添加
一个class类名
,删除
某一个节点的class类名
document.documentElement;
var htmlEle = document.documentElement;console.log(htmlEle);
document.head;
var headEle = document.head;console.log(headEle);
document.body;
var bodyEle = document.body;console.log(bodyEle);
类名、标签名和ID名
我是具有class的box1我是具有class的box2我是具有class的box3我是一个P标签
伪数组
) var oBox = document.getElementsByClassName('box');console.log(oBox);
- oBox是一个伪数组, 想要获取到某一个元素, 可以通过
下标
- 不管页面具有这个类名的元素有多少个, 获取到的永远是
伪数组的形式
- 伪数组: 长得和数组类似, 有下标有length, 但是没有
数组的常用方法
伪数组
) var oDiv = document.getElementsByTagName('div');console.log(oDiv);console.log(oDiv[0]);
注意:oDiv也是一个伪数组, 想要获取到某一个元素, 可以通过下标
唯一性
) var oBox2 = document.getElementById('box2');console.log(oBox2);
- 因为ID通常都是
独一无二
的- 所以这里获取到的就是一个具有 box2
ID名的标签
, 而不是一个伪数组
第一个标签
var myDiv = document.querySelector('.box');console.log(myDiv);
伪数组
) var myDivAll = document.querySelectorAll('.box');console.log(myDivAll);
我是DIV的文本我是P的文本我是SPAN的文本
我是内部DIV的文本
文本与HTML结构
// 获取页面的div标签var oDiv = document.querySelector('div'); console.log(oDiv.innerHTML);
- 赋值时会识别字符串中的
html结构
- 如果有实际的标签, 会把它当成
标签
渲染到页面上
var oDiv = document.querySelector('div'); oDiv.innerHTML = '1234567890';oDiv.innerHTML = '1234567890';
只会获取到页面结构的
文本内容
, HTML结构会被忽略掉
var oDiv = document.querySelector('div'); console.log(oDiv.innerText);
- 赋值时不会识别字符串中的html结构
- 如果有实际的标签, 会把它当成
字符串
渲染到页面上
// 获取页面的div标签var oDiv = document.querySelector('div'); oDiv.innerText = '1234567890';oDiv.innerText = '1234567890';

五、元素属性的获取设置与移出
我是div标签
(一)需求: 获取元素的某些属性
- 语法:
元素.getAttribute('要查询的属性名');
// 1. 获取元素var oBox = document.getElementsByClassName('box')[0];console.log(oBox);// 2. 获取元素的某些属性console.log(oBox.getAttribute('class'));console.log(oBox.getAttribute('a'));console.log(oBox.getAttribute('b'));
![在这里插入图片描述]()
(二)需求: 修改某些元素的某些属性
- 语法:
元素.setAttribute('要设置的属性名', '要设置的属性值');
var oBox = document.getElementsByClassName('box')[0];oBox.setAttribute('a', 'qwer');oBox.setAttribute('b', 'asdf');oBox.setAttribute('qqq', 'qqqq123123');console.log(oBox);

(三)移出某些元素的某个属性
语法: 元素.removeAttribute('要移除的属性名');
var oBox = document.getElementsByClassName('box')[0];oBox.removeAttribute('b');console.log(oBox);

六、H5自定义属性
H5新增自定义属性
/*** data-cs="123456789"* H5自定义属性中data- 是固定的* cs是我实际的属性名* "123456789"是我实际的属性值*/
(一)获取H5自定义属性
- 获取语法:
元素.dataset.属性名
var oDiv = document.querySelector('div');console.log(oDiv)console.log(oDiv.dataset.cs);
![在这里插入图片描述]()
(二)设置语法
- 语法:
元素.dataset.属性名 = 属性值;
- 标签中实际拥有; 做
修改操作
- 标签中实际没有; 做
新增操作
var oDiv = document.querySelector('div');// 设置语法oDiv.dataset.cs = 'qwertyuiop'; // 标签中实际拥有; 做修改操作oDiv.dataset.age = 18; // 标签中实际没有; 做新增操作console.log(oDiv);

(三)删除语法
- 语法:
delete 元素.dataset.属性名;
var oDiv = document.querySelector('div');// 删除操作delete oDiv.dataset.cs;console.log(oDiv);

七、获取元素类名
我是一个具有两个类名的DIV
(一)第一种语法
1、获取语法
- 获取语法:
元素.className
var oDiv = document.querySelector('div');console.log(oDiv);//获取语法console.log(oDiv.className);

2、设置语法
- 设置语法:
元素.className = '新的类名';
var oDiv = document.querySelector('div');oDiv.className = oDiv.className + ' new_box';

(二)第二种语法
1、获取语法
- 获取语法(伪数组):
元素.classList
var oDiv = document.querySelector('div');// 获取语法console.log(oDiv.classList);

2、设置语法
- 设置语法:
元素.classList.add('新的类名')
var oDiv = document.querySelector('div');// 设置语法oDiv.classList.add('new_box');
![在这里插入图片描述]()
3、删除语法
- 删除语法:
元素.classList.remove('要删除的类名')
var oDiv = document.querySelector('div');//删除语法oDiv.classList.remove('box');

八、获取元素样式
(一)获取元素样式(行内)
我是一个具有样式的div
- 语法:
元素.style.某个CSS属性
- 只能获取到行内样式
1、获取元素样式
var oBox = document.getElementsByClassName('box')[0]console.log(oBox.style.width);console.log(oBox.style.height);// console.log(oBox.style.background-color); // 错误写法console.log(oBox.style['background-color']); // 中括号语法console.log(oBox.style.backgroundColor); // 驼峰命名

2、设置元素样式
- 语法:
元素.style.属性名 = 属性值;
var oBox = document.getElementsByClassName('box')[0];oBox.style.backgroundColor = 'blue';

(二)获取元素样式
1、非行内
- 注意: 这种方式获取到的是
只读
的属性 只读
: 只能获取到, 但是不允许修改
我是一个具有样式的div
2、获取元素样式
语法:window.getComputedStyle(元素).属性名
var oBox = document.getElementsByClassName('box')[0];console.log(window.getComputedStyle(oBox).width);console.log(window.getComputedStyle(oBox).backgroundColor);
![在这里插入图片描述]()
相关内容