DOM

122 阅读2分钟

DOM

DOM的全拼是:Document Object Model,叫做文档对象模型,主要用于操作html文档。例如,改变标签的北京颜色,让标签移动产生动画。。。。

DOM中的顶级对象是document,言外之意,DOM其实是属于BOM的。

例如:


window.document.write();
window.document.bgColor="red";

html基本结构的操作:

  1. document.body :body比较常用, 并且在页面中是唯一的, 因此可以使用document.body直接获取
  2. document.documentElement : 可以获取html元素及其所有内容
  3. document.head : 可以直接获取head元素
  4. document.title : 可以直接获取title的文本

获取元素

在js中,标签的id名,可以当做是变量,直接就能代表这个标签元素,但是,id名可以随便定义,但是变量名不能随便定义,所以使用id名代表标签是有风险的。所以需要通过方法来获取到标签元素,自己定义给变量,可以避免这种风险。

通过document获取节点


document.getElementById("标签id名"); // 通过标签的id名获取标签
document.getElementsByTagName("标签名"); // 通过标签名获取标签
document.getElementsByClassName("标签类名"); // 通类名获取标签
document.getElementsByName("标签的name属性的值"); // 通过标签的name属性获取标签
// 上述4种获取标签的方法,除了通过id可以准确获取到元素,别的方法都是只能获取到元素的集合(类数组)

使用css选择器获取元素:


documen.querySelector(css选择器); // 获取到匹配css的第一个元素
documen.querySelectorAll(css选择器); // 获取到匹配css的所有元素

属性操作

自定义属性


元素.setAttribute(属性名,属性值) # 设置元素的属性
元素.getAttribute(属性名); # 获取元素属性
元素.removeAttribute(属性名); # 删除元素属性

元素自带属性


元素.属性名 = 值;
console.log(元素.属性名);

例:


btn.onclick=function(){
    img.src = '2.jpg';
}

内容操作


语法:
    元素.innerHTML # 代表元素中的所有内容(包含标签)
    元素.innerText # 代表元素中的文本内容
    表单元素.value
    # 单标签操作内容其实就是在操作元素的属性

样式设置


元素.style.css属性名 = css属性值; # 给标签设置样式

元素类名

使用元素的className属性可以设置元素的类名,也可以获取类名