DOM
DOM:Document Object Model文档对象模型
要实现页面的动态交互效果,bom操作远远不够,需要操作HTML才是核心,dom提供了用程序动态控制HTML接口DOM即文档对象描绘了一个层次化的节点树,运行开发人员添加,移除和修改页面的某一部分,dom处于JavaScript的核心地位上。每个载入浏览器的HTML文档都会称为DOM对象,Documnt对象使我们可以从脚本中对HTML页面中的所有元素进行访问。Document对象是window对象的一部分,可通过window.document属性对其进行访问
节点
节点:
加载HTML页面时,Web浏览器生成一个树型结构,用来表示页面内部结构,DOM将这种树型结构理解为由节点组成,组成一个节点树。
对于页面中的元素,可以解析成以下几种类型的节点
节点类型 | HTML内容 | 例如 |
---|---|---|
文档节点 | 文档本身 | 整个文档document |
元素节点 | 所有的HTML元素 | < a > < p > < div> |
属性节点 | HTML元素内的属性 | id href name class |
文本节点 | 元素的文本 | hello |
注释节点 | HTML中的注释 | < !-- --> |
获取节点
在进行增删改的操作时,都需要指定到一个位置,或者找到一个目标,此时我们就可以通过Document对象提供的方法,查找,定位某个对象(也就是节点)
注意:操作DOM必须等节点初始化完毕后,才能执行。
处理方式:
(1)把script调用移到HTML末尾即可
(2)使用onload事件来处理JS,等待HTML加载完毕后再执行onload事件里的JS
getElementById(): 根据id获取dom对象,如果ID重复,那么以第一个为准
getElementByTagName(): 根据标签名获取dom对象数组
getElementByClassname():根据样式名获取dom对象数组
getElementByName():根据样式名属性值获取dom对象数组,常用于多选获取值
说明:href = “javascript:void(0)”:伪协议,标识不执行跳转,而执行指定的点击事件