一.BOM(浏览器对象模型):
1.Windows
浏览器窗口对象,使用window. 来调用属性和方法,其中window可以省略,例如window.alert(“hello,world”)也可以直接写作alert(“hello,world”)
属性:
history:对history对象的只读引用。
location:用于窗口或者框架的location对象。
navigator:对navigator对象的只读引用。
方法:
alert():显示带有一段消息和一个确认框的警告框。
confirm():显示带有一段消息以及确认和取消按钮的对话框,使用这个方法默认返回true或false,例如使用var flag = confirm(“您确认删除该用户吗”),然后flag会根据用户选择返回false或者true。
setInterval():按照指定的周期(毫秒为单位)来调用函数或计算表达式。语法:setInterval(function(){},2000),表示每隔2秒执行一次function函数,这里的function函数表示一个匿名函数,可以替换为自己定义的具体的一个函数。
setTimeout():在制定的毫秒数后调用函数或计算表达式。语法:setTimeout(function(){},2000),表示2秒后执行function函数。
2.Location
地址栏对象,使用window. 来调用,其中window. 可以省略,即window.location.属性可以直接写作:location.属性。
属性:
这里暂时介绍href属性,用来设置或者返回完整的URL。例如:alert(“location.href”)会在浏览器弹出当前的URL,直接使用location.href = “https://www.baidu.com”,会自动跳转到对应的网站。
二.DOM(文档对象模型)
用途:将标记语言的各个组成部分封装为对应的对象:
Document:整个文档对象。
Element:元素对象。
Attribute:属性对象。
Text:文本对象。
Comment:注释对象。
例如在下面这段html代码中:
<html>
<head><title>DOM样例</title></head>
<body>
<h1>这是一个h1标签</h1>
<a href = "https://www.baidu.com"></a>
</body>
</html>
对于这代代码来说,整段代码就是一个Document,而其中的一个标签就是一个Element,标签的属性就是Attribute,标签中添加的文字,例如H1标签中的 “这是一个H1标题” 就属于Text,注释就是Comment。
JavaScript通过DOM,可以对HTML进行下列操作:
改变HTML元素的内容
改变HTML元素的样式(CSS)
对HTML中的DOM事件做出反应
增删HTML中的元素
DOM操作:
HTML中的Element对象通过Document对象获取,Document对象通过window对象获取。
Document对象获取Element元素对象的几种方法:
1.根据id属性来获取,返回单个Element对象(因为id唯一所以返回单个对象):
var h1 = document.getElementById(‘h1’);
2.根据标签名称获取,返回Element对象数组:(因为标签可能有多个,所以返回数组):
var divs = document.getElementsByTagName(‘div’);
3.根据name属性获取,返回Element对象数组:(name属性可能有多个所以返回数组):
var students = document.getElementsByName(‘student’);
4.根据class属性值获取,返回Element对象数组:(class可能有多个,所以返回数组):
var classs=document.getElementsByClassName(‘class’);
案例:
</head>
<body>
<img id="h1" src="yangli.png"> <br>
<div class="lzh">好好学习</div>
<div class="lzh">天天向上</div>
<input type="checkbox" name="student"> 小赵
<input type="checkbox" name="student"> 小钱
<input type="checkbox" name="student"> 小孙
</body>
<scrip>
//1.获取元素-根据id获取
var img=document.getElementById('h1'); //返回的img是一个element对象
//2.获取元素-根据标签获取
var divs=document.getElementsByTagName('div')//返回的是一个数组
//3.获取元素-根据name属性获取
var students = document.getElementsByName('student')
//4.获取元素-根据class属性获取
var lzhs=document.getElementsByClassName('lzh')
//查询到对应的对象之后,就可以使用一些方法修改对象的值,例如:
var divs=document.getElementsByClassName('lzh')
divs[0].innerHTML = "good good study"; //使用innerHTML方法为divs[0]赋新值
</scrip>










