DOM
文档对象模型。由节点组成:元素、属性、文本、注释
是由元素节点、属性节点、文本节点和注释节点组成的文档对象模型。作用是一套操作HTML和XML文档的API
获得页面元素的方式
-
document.getElementById() 通过标签的Id获得的是唯一的页面标签对象【通过ID获取页面元素】
var li = document.getElementById("")返回的为对象
-
document.getElementByClassName()【通过类名获取】
var dom = document.getElementByClassName("")返回的为数组
-
document.getElementByTagName()【通过标签名获取】
var tag = document.getElementByTagName("")返回的为内数组的对象【不是数组,无法使用数组方法】
-
document.querySelector() 可以通过以上的所有的方式获取第一个元素【H5提供的选择器】
var qy = document.querySelector("")返回的是对象
-
document.querySelectorAll() 获取所有的元素【H5提供的选择器】
var qy = document.querySelectorAll("")返回的是数组
获取元素后的操作
DOM的API只有DOM对象才有
获取和设置内容
- innerHTML 【内容(包括标签)】
- textContent【文本内容(不包括标签)】
标签的属性操作
-
【获取】getAttribute(“属性名”)
返回值为属性值
-
【获取】getComputedStyle(xxx).color(任意样式都可以)
返回值为属性值
【修改】setAttribute(“name” , “value”)
【添加】setAttribute(“name” , xxx.getAttribute(“属性名”)+“value”)
-
【删除】removeAttribute(“属性名”)
特例
-
xxx.className【获取class的值】
返回的值为字符串
-
xxx.classList【获取class的值】
返回的值为数组
xxx.classList.add(“值”)【添加】
xxx.classList.remove(“值”)【删除】
image.png
【拆分数组(aa,bb,cc),删除bb,连接字符串(join),添加为属性值(aa bb)】
DOM问题
1、web前端的js由几部分组成?
js基本语句、DOM、BOM
2、DOM是什么?有什么用?
由元素节点、属性节点、文本节点和注释节点组成的文档对象模型;是一套操作HTML和XML文档的API
3、DOM树是什么?节点是什么?
DOM树:整个HTML页面
DOM节点:文档中所有的内容都是节点
4、节点有哪些类型?
属性节点、文本节点、元素节点、注释节点
5、给父节点添加子节点用到哪些方法?
createElement() 创建节点
parentNode(): 获取dom节点的父节点
appendChild():追加子节点
6、删除节点有哪些方法?
removeChild(n)删除m元素中的n节点
remove(); 删除自己(自杀)
7、修改节点内容有两个方法,区别是什么?
innerText():添加文本内容,如果是添加标签,返回值为字符串;
innerHTML():添加文本内容,可以用于添加标签;
8、如何修改节点样式?
xxx.style.属性 = ''
9、如何修改节点属性?
setAttribute(name, value)
10、如何修改节点class?
className = 'aaa'; 给元素添加一个加aaa的class
classList.add()
11、获取节点的5种方法
document.getElementById()
document.getElementsByClassName()
document.getElementsByTagName()
document.querySelector("")
document.querySelectorAll("")
12、获取节点内容有哪些方法?
innerText、innerHTML
13、如何获取节点属性?
getAttribute(name)
checked()
14、如何获取节点的样式?
getComputedStyle(xxx).属性
xxx.style.属性
