1 javascript:dom 、 bom 、 ECMA组成
dom:文档对象模型 (在代码中是document )
bom: 浏览器对象模型 (在代码中是window)
ECMA:核心语法,包含如何定义变量、运算符、表达式、流程控制语句、数据类型
2 节点操作
1 可通过dom的onclick 、onmousedown、onmouseup来添加事件
2 通过dom的getElementById获取元素
3 通过dom的style来设置样式
3 节点类型:
dom是由节点组成的,元素/标签是节点的一种,共12种
元素节点 1 属性节点2 文本节点3 注释节点8 文档节点9
通过nodetype属性判断节点类型
每一个元素都是一个节点,但每一个节点不一定是一个元素,元素仅是节点的一种,
childNodes:该属性指向一个节点的所有子节点的集合
4 节点属性
nodeType:节点类型 nodeName:节点名称 nodeValue:节点的值
5 节点关系
父子:father.childNodes //获取所有的节点
father.firstChild //获取到第一个子节点
father.lastChild //获取最后一个子节点
子父:child.parentNode //获取到父节点
兄弟: node.nextSibling //获取到下一个兄弟节点
node.previousSibling //获取到上一个兄弟节点
6 节点操作
1 创建元素 使用方式:document.createElement(type)
type:创建的类型,是一个字符串
返回值:创建出来的元素
创建文本:document.createTextNode(content)
content :表示文本内容
2 节点上树(将节点渲染到页面中)
使用方式:father.appendChild(child)
child:要追加的子元素
father :父元素
返回值:child
最终的效果:child作为father的最后一个子节点存在
3 节点下树(从页面中删除节点)
使用方式:father.removechild(child)
child:要被移除的子元素
father:父元素
返回值:child
最终效果:child从father的所有子节点中移除
4 节点插入 father.insertBefore(newchild,oldchild)
newchild:要插入的元素 oldchild:参照元素
注意:oldchild如果是null,即没有参照元素,会添加到最后面,相当于appendchild方法
返回值:newchild
最终效果:newchild追加到oldchild的前面作为它的兄弟节点存在
5 节点替换
使用方式:father.replaceChild(newchild,oldchild)
newchild:要被替换上的元素
oldchild:被替换下的元素
返回值:oldchild
最红效果:newchild替换掉oldchid
6 节点克隆
使用方式:node.cloneNode(bool)
bool:布尔值,默认是false,只复制本身,如果传递的是true,表示连同子节点一起复制
\
7 jquery操作
创建元素:可以利用$函数功能创建元素,返回一个jquery对象
注意:jquery中的上树方法,只能通过jquery对象使用,源生js对象无法直接使用
\
父元素选择子元素
$(father).append(child):在father的后面追加child元素
$(father).prepend(child):在father的前面追加child元素
子元素选择父元素
$(child).appendTo(father):将child追加到father的最后去
$(child).prependTo(father):将child追加到father的前面去
兄弟选择兄弟
$(dom).after(element) :在dom的后边追加element元素
$(dom).before(element):在dom的前面追加 element元素
$(dom).insertBefore(element) :在element的前面追加dom元素
$(dom).insertAfter(element) :在element的后面追加dom元素
节点外部包装:wrap与wrapAll
去掉外层节点:unwrap
元素替换:replacewith与replaceAll
清空后代:empty
删除元素:remove
克隆元素:clone(bool)
\
\
\
\
\