1.节点包括
document:文档
标签:基本可以等同于元素(标签包含的内容是元素)
属性:属性一般有属性值
文本:元素(标签)的第一个子节点(最后一个节点)就是文本节点(firstChild)
(1)节点类型nodeType
(2)节点名称nodeName
(3)节点值nodeValue
2.元素的第一个子节点就是文本节点(firstChild) !important
3.节点之间的关系
节点:document 标签 文本 属性 注释
元素节点:就是元素标签
父节点–parentNode
父元素节点–parentElement
相同点:parentNode HTML的父节点 #document
parentElement(上级只能是标签) HTML的父元素节点 null
子节点–childNodes(伪数组){包括子元素标签 文本节点 注释节点}
子元素节点–children(伪数组) 子元素标签
第一个子节点–firstChild 文本 (有文本打印文本,没有文本打印text)
第一个子元素节点–firstElementChild 第一个元素标签
最后一个子节点–lastChild 文本(同上)!important
最后一个子元素节点–lastElementChild 最后一个元素标签
上一个子节点–previousSibling 文本
上一个子元素节点–previousElementSibling 上一个元素标签
下一个子节点–nextSibling 文本
下一个子元素节点–nextElementSibling 下一个元素节点
总结:firstChild、lastChild、previousSibling、nextSibling获取到的都是文本
firstElementChild、lastElementChild、previousElementSibling、nextElementSibling获取到的都是标签,如果没有就是空。
4.创建元素的方式
(1)document.write() 只能往body中添加元素【单引号双引号交叉使用】
(2)InnerHTML=‘’先获取元素 在同级下只能添加一种元素,多个会覆盖
(3)document.createElement() 创建元素
父元素.appendChild(子元素):给父元素末尾添加子元素
添加属性 变量.setAttribute()
添加文本 变量.innerText=‘’
删除元素 变量.removeChild() 删除已有的属性需要获取
5.BOM:浏览器对象模型
BOM的顶级对象:window
方法:alert() prompt() onscroll() onload():浏览器加载完成事件
属性:全局变量 console.log()
location 属性(后面可以加href,实现跳转)
location属性下的方法
location (后面可以加href,实现跳转)
hash:地址栏上#及后面的内容 console.log(window.location.hash);
主机名及端口号 console.log(window.location.host);
主机名 console.log(window.location.hostname);
文件的路径—相对路径 console.log(window.location.pathname);
端口号 console.log(window.location.port);
协议 console.log(window.location.protocol);
搜索的内容 console.log(window.location.search);
重新加载 console.log(window.location.reload)
history属性下的方法
返回 window.history.back()
前进 window.history.forward()
前进 window.history.go(1)
后退加刷新 window.history.go(-1)