js-day11Dom
DOM文档对象模型
01.js组成:
ECMAScript BOM DOM
02. DOM
DOM: 页面中的标签,我们通过 js 获取到以后,就把这个对象叫做 DOM 对象 作用: 文档对象模型 提供操作html文档对象能力,提供API 操作Dom: 1.获取标签元素 2.操作内容 3.操作样式 4.操作属性 核心对象:文档对象 document 对象是浏览器内置的一个对象,里面存储着专门用来操作元素的各种方法 window对象的子对象 Document
03.获取标签元素:
1.getElements系列
1.getElements系列 1.1document.getElementById() =>document是window对象子对象,可以省略 =>返回html 标签元素(节点对象) id唯一,获取到的就是元素 1.2getElementsByTagName() =>根据标签名获取html元素 =>返回的是一个伪数组 =>必须要用索引才能得到准确的Dom元素 伪数组 =>可以通过索引号访问伪数组中元素 =>可以进行for循环遍历 =>不能使用数组Array常用方法 ex:arr.push... =>一般获取多个html标签元素存储在伪数组中 1.3getElementsByClassName() =>返回的是一个伪数组 =>必须要用索引才能得到准确的Dom元素 1.4getElementsByName() // 标签中有name属性的 =>返回的是一个伪数组 =>必须要用索引才能得到准确的Dom元素
2.query Selector 系列
2.query系列 =>javascript获取标签元素新方法 2.1 querySelector() //返回元素 (#id名) (.class名) 2.2 querySelectorAll() //返回伪数组 =>根据选择器获取html标签元素 css选择器都可以用
04. 操作内容
1.获取内容 非表单内容 innerHTML 属性 innerText 属性 表单元素内容 value 属性 2.设置内容 ele:获取的元素节点的名字 ele.innerHTML = '<h1>内容</h1>' 内容中有标签会被解析 ele.innerText = '<h1>内容</h1>' 标签作为文本内容 ele.value = '内容'
05.操作样式
=> ele.style.color = 'red' 给其添加的是行内样式 => ele.className = '类名' 类样式 会覆盖前面类名的样式,相当于赋值 => ele.classList.add('类名') 添加一个类样式 不会覆盖 => ele.classList.remove('类名') 删除一个类样式
06绑定事件两种写法
1.属性事件
<div onclick = ' js代码 '> </div>
2.绑定事件
function test1(){ //获取div元素节点 var div = document.querySelector('div') //绑定点击事件 div.onclick = function(){ js代码 } }
07.操作属性(方法)
1.设置属性 setAttribute('属性名','属性值') aEle.setAttribute('href','http://www.baidu.com') 2.获取属性 getAttribute('属性名') 3.移除属性 removeAttribute('属性名')
08.this 当前对象
根据不同场景表示不同对象 1. 事件处理函数中 this 表示 事件源