Dom 操作
Document Object Model
文档 对象 模型
是 js 操作 html文档的方法
DOM操作的基本步骤
1, 设定 html css
2, 获取 html标签对象
3, 操作 html标签对象
内容 属性 id class css样式 ...
Dom 获取元素
js 在获取常规元素时与css 一样,可以通过类名 ID名 标签名来获取
获取与元素都是以 document 开头,例如:document.getElementsByClassName('box');
获取非常规 Dom
1. 获取非常规Dom(html head body)
var htmlEle = document.documentElement;
console.log(htmlEle);
var headEle = document.head;
console.log(headEle);
var bodyEle = document.body
console.log(bodyEle);
1. 获取常规 Dom
(1). 通过类名获取标签
var oBox = document.getElementsByClassName('box');
console.log(oBox);
(2). 通过 标签名 去获取标签
var oDiv = document.getElementsByTagName('div');
console.log(oDiv);
console.log(oDiv[0]);
(3). 通过 ID 去获取标签
var oBox2 = document.getElementById('box2');
console.log(oBox2);
2. 通过querySelector 与 querySelectorAll 获取元素
querySelect: 获取到满足条件的第一个
querySelectorAll:按照选择器的形式 获取所有满足条件的标签
var oDiv1 = document.querySelector('.box');
console.log(oDiv1);
var oDiv2 = document.querySelectorAll('.box');
console.log(oDiv2);
var oDiv2 = document.querySelectorAll('.box')[1];
设置元素属性
获取页面的div标签
var oDiv = document.querySelector('div')
获取属性
innerHtml: 获取到标签内部的文本 和 HTML 结构
innerText: 只会获取到页面结构的文本内容
操控元素的属性
innerHtml: 会识别 字符串中 的html结构
innerText: 不会识别字符串中的html结构,如果字符串中出现标签,会把它当成文本
oDiv.innerHTML = '<div>12345</div>';
oDiv.innerText = '<div>123345</div>';
元素属性的获取设置与移出
var oBox = document.getElementsByTagName('box')[0];
console.log(oBox);
console.log(oBox.getAttribute('class'));
console.log(oBox.getAttribute('a'));
console.log(oBox.getAttribute('b'));
oBox.setAttribute('a','aaa');
oBox.setAttribute('b','bbb');
oBox.setAttribute('c','ccc');
oBox.removeAttribute('b');
H5新增自定义属性
var oDiv = document.querySelector('div');
console.log(oDiv);
console.log(oDiv.dataset.cs);
console.log(oDiv.dataset.cs = 'qwe');