BOM(Browser Object Model):浏览器对象模型
其实就是操作浏览器的一些能力
我们可以操作哪些内容
1.获取一些浏览器的相关信息(窗口的大小) 2.操作浏览器进行页面跳转 3.获取当前浏览器地址栏信息 4.操作浏览器的滚动条 5.浏览器的信息(浏览器的版本) 6.让浏览器出现一个弹出框(alert/confirm/prompt)
BOM的核心就是 window 对象
window 是浏览器内置的一个对象,里面包含着操作浏览器的方法
innerHeight
和 innerWidth
var windowHeight = window.innerHeight console.log(windowHeight) var windowWidth = window.innerwidth console.log(windowWidth)
alert
是在浏览器弹出一个提示框window.alert('我是一个提示框')
1.这个弹出层只是一个提示内容,只有一个确定按钮 2. 点击确定按钮以后,这个提示框就消失了
confirm
是在浏览器弹出一个询问框var boo = window.confirm('我是一个询问框') console.log(boo)
prompt
是在浏览器弹出一个输入框var str = window.prompt('请输入内容') console.log(str)
location
location.href
这个属性存储的是浏览器地址栏内 url 地址的信息console.log(window.location.href)
location.href
这个属性也可以给他赋值window.location.href = './index.html' //这个就会跳转页面到后面你给的那个地址
location.reload()
这个方法会重新加载一遍页面,就相当于刷新是一个道理window.location.reload()
注意:不要写在全局,不然浏览器就会一直处在刷新状态
history
history.back
是用来回退历史记录的,就是回到前一个页面,就相当于浏览器上的 ⬅ 按钮window.history.back()
前提是你要有上一条记录,不然就是一直在这个页面,也不会回退
window.history.forward()
前提是你要之前有过回退操作,不然的话你现在就是最后一个页面,没有下一个
setTimeout(要执行的函数,多长时间以后执行)
var timerId = setTimeout(function(){ console.log('我执行了') },1000) console.log(timerId)// 1
1.时间是按照毫秒进行计算的,1000 毫秒就是 1秒钟 2.所以会在页面打开 1 秒钟以后执行函数 3.只执行一次,就不在执行了 4.返回值是,当前这个定时器是页面中的第几个定时器
setInterval(要执行的函数,间隔多少时间)
var timerId = setInterval(function () { console.log('我执行了') }, 1000)
1.时间和刚才一样,是按照毫秒进行计算的 2.每间隔 1 秒钟执行一次函数 3.只要不关闭,会一直执行 4.返回值是,当前这个定时器是页面中的第几个定时器
setTimeout
和 setInterval
的var timerId = setTimeout(function(){ console.log('倒计时定时器') }, 1000) var timerId2 = setInterval(function(){ console.log('间隔定时器') }, 1000) console.log(rimerId)//1 console.log(timerId2)//2
clearTimeout
和 clearInterval
var timerId = setTimeout(function () { console.log('倒计时定时器') }, 1000) clearTimeout(timerId)
关闭以后,定时器就不会在执行
var timerId2 = setInterval(function () { console.log('间隔定时器') }, 1000) coearInterval(timerId2)
关闭以后,定时器就不会在执行了
clearTimeout
关闭 setTimeout
clearInterval
关闭 setInterval
var timerId = setTimeout(function () { console.log('倒计时定时器') }, 1000) // 关闭倒计时定时器 clearInterval(timerId) var timerId2 = setInterval(function ()} console.log('间隔定时器') }, 1000) // 关闭间隔定时器 clearTimeout(timerId2)
DOM (Document Object Model) : 文档对象模型
其实就是操作 html 中的标签的一些能力
我们可以操作哪些内容
1.获取一个元素 2.移除一个元素 3.创建一个元素 4.向页面里面添加一个元素 5.给元素绑定一些事件 6.获取元素的属性 7.给元素添加一些 css 样式 8. ...
DOM 的核心对象就是 docuemnt 对象
document 对象是浏览器内置的一个对象,里面存储着专门用来操作元素的各种方法
DOM:页面中的标签,我们通过js获取到以后,就把这个对象叫做 DOM 对象
getElementById
是通过标签的 id 名称来获取标签的<body> <div id="box"></div> <script> var box = document.getElementById('box') console.log(box) // <div></div> </script> </body>
getElementsByClassName
是用过标签的 class 名称来获取标签的<body> <div calss="box"></div> <script> var box = document.getElementsByClassName('box') console.log(box) // [<div></div>] console.log(box[0]) // <div></div> </script> </body>
getElementsByTagName
是用过标签的 标签 名称来获取标签的<body> <div></div> <script> var box = document.getElementsByTagName('div') console.log(box) // [<div></div>] console.log(box[0]) // <div></div> </script> </body>
getElementsByClassName
一样,获取到的是一个长得很像数组的元素querySelector
是按照选择器的方式来获取元素console.log(document.querySelector('div')) // 获取页面中的第一个 div 元素 console.log(docuemnt.querySelector('.box')) // 获取页面中第一个有 box 类名的元素 console.log(document.querySelector('#box')) // 获取页面中第一个 id 名为 box 的元 素
querySelectorAll
是按照选择器的方式来获取元素console.log(document.querySelectorAll('div')) // 获取页面中的所有的 div 元素 console.log(docuemnt.querySelectorAll('.box')) // 获取页面中所有有 box 类名的元素
<body> <div> <p> <span>hello</span> </p> </div> <script> var div = document.querySelector('div') console.log(div.innerHTML) /* <p> <span>hello</span> </p> */ </script> </body>
<body> <div></div> <script> var div = document.querySelector('div') div.innerHTML = '<p>hello</p>' </script> </body>
<body> <div> <p> <span>hello</span> </p> </div> <script> var div = document.querySelector('div') console.log(div.innerText) // hello </script> </body>
<body> <div></div> <script> var div = document.querySelector('div') div.innerText = '<p>hello</p>' </script> </body>
<p>hello</p>
当作一个文本出现在 div 元素里面,而不会把 p 解析成标签<body> <div a="100" class="box"></div> <script> var div = document.querySelector('div') console.log(div.getAttribute('a')) // 100 console.log(div.getAttribute('class')) // box </script> </body>
<body> <div></div> <script> var div = document.querySelector('div') div.setAttribute('a', 100) div.setAttribute('class', 'box') console.log(div) // <div a="100" class="box"></div> </script> </body>
<body> <div a="100" class="box"></div> <script> var div = document.querySelector('div') div.removeAttribute('class') console.log(div) // <div a="100"></div> </script> </body>
<body> <div></div> <script> var div = document.querySelector('div') div.style.width = "100px" div.style.height = "100px" div.style.backgroundColor = "pink" console.log(div) // <div style="width: 100px; height: 100px; background-color: pink;"> </div> </script> </body>
<body> <div class="box"></div> <script> var div = document.querySelector('div') console.log(div.className) // box </script> </body>
<body> <div class="box"></div> <script> var div = document.querySelector('div') div.className = 'test' console.log(div) // <div class="test"></div> </script> </body>