API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
浏览器提供的一套操作浏览器功能和页面元素的API(BOM和DOM)
[外链图片转存失败(img-bhq9G21z-1569310316731)(media/QQ图片20170810172512-2357176615.png)]
定义了JavaScript 的语法规范
JavaScript的核心,描述了语言的基本语法和数据类型,ECMAScript是一套标准,定义了一种语言的标准与具体实现无关
一套操作浏览器功能的API
通过BOM可以操作浏览器窗口,比如:弹出框、控制浏览器跳转、获取分辨率等
一套操作页面元素的API
DOM可以把HTML看做是文档树,通过DOM提供的API可以对树上的节点进行操作
文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标记语言(html)标准编程接口。它是一种与平台和语言无关的应用程序接口(API),它可以动态地访问程序和脚本,更新其内容、结构,DOM(是一种基于树的API文档,它要求在处理过程中整个文档都表示在存储器中。
DOM又称为文档树模型
[外链图片转存失败(img-YZqp42MI-1569310316733)(media/1497154623955.png)]
例如:我们要页面元素隐藏/显示,需要现获取对应的元素,才能进行后续操作
js
var div = document.getElementById(“id2”);
当id重名的时候,会获取第一个,id有唯一性的
//标签名获取元素
var div = document.getElementsByTagName(“div”)[5];
alert(div);
// 通过name来获取
var names = document.getElementsByName(‘n’);
for (var i = 0; i < names.length; i++) {
alert(names[i]);
}
alert(names);
// 通过类名
var mains = document.getElementsByClassName(“main”);
alert(mains);
// 根据选择器获取元素
var id1 = document.querySelector(’#id1’);
alert(id1);
var mains = document.querySelectorAll(’.main’);
alert(mains);
事件:触发-响应机制
href、title、id、src、className
var link = document.getElementById(“link”);
console.log(link.href);
案例:
点击按钮显示隐藏div
> // greater than 大于
空格
© ©
给文本框赋值,获取文本框的值
修改标签的className属性相当于直接修改标签的类名
javascript
document.write(‘新设置的内容
标签也可以生成
’);`javascript
var box = document.getElementById(‘box’);
box.innerHTML = ‘新内容
新标签
’;`javascript
var div = document.createElement(‘div’);
document.body.appendChild(div);
[外链图片转存失败(img-vTNqHA7n-1569310453108)(media/1497165666684.png)]
`javascript
var box = document.getElementById(‘box’);
box.onclick = function () {
console.log(‘点击后执行’);
};
box.onclick = null;
box.addEventListener(‘click’, eventCode, false);
box.removeEventListener(‘click’, eventCode, false);
box.attachEvent(‘onclick’, eventCode);
box.detachEvent(‘onclick’, eventCode);
function eventCode() {
console.log(‘点击后执行’);
}