笔记大杂烩

根据id获取元素

var div = document.getElementById(‘main’);
console.log(div);

// 获取到的数据类型 HTMLDivElement,对象都是有类型的
// HTMLDivElement <-- HTMLElement <-- Element <-- Node <-- EventTarget
注意:由于id名具有唯一性,部分浏览器支持直接使用id名访问元素,但不是标准方式,不推荐使用。

根据标签名获取元素

var divs = document.getElementsByTagName(‘div’);
for (var i = 0; i < divs.length; i++) {
var div = divs[i];
console.log(div);
}

根据name获取元素

var inputs = document.getElementsByName(‘hobby’);
for (var i = 0; i < inputs.length; i++) {
var input = inputs[i];
console.log(input);
}

根据类名获取元素

var mains = document.getElementsByClassName(‘main’);
for (var i = 0; i < mains.length; i++) {
var main = mains[i];
console.log(main);
}

事件三要素
事件源:触发(被)事件的元素
事件类型:事件的触发方式(例如鼠标点击或键盘点击)
事件处理程序:事件触发后要执行的代码(函数形式)

节点的属性:可以使用标签–元素.出来,可以使用属性节点.出来,文本节点.点出来
nodeType:节点的类型:1----标签,2—属性,3—文本
nodeName:节点的名字:标签节点—大写的标签名字,属性节点—小写的属性名字,文本节点----#text
nodeValue:节点的值:标签节点—null,属性节点—属性值,文本节点—文本内容

节点层级
重点讲父子属性,兄弟属性画图讲解

var box = document.getElementById(‘box’);
console.log(box.parentNode);
console.log(box.childNodes);
console.log(box.children);
console.log(box.nextSibling);
console.log(box.previousSibling);
console.log(box.firstChild);
console.log(box.lastChild);

创建元素的三种方式
document.write()

document.write(‘新设置的内容

标签也可以生成

’);
innerHTML

var box = document.getElementById(‘box’);
box.innerHTML = ‘新内容

新标签

’;
document.createElement()

var div = document.createElement(‘div’);
document.body.appendChild(div);

注册/移除事件的三种方式

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(‘点击后执行’);
}

事件的三个阶段
捕获阶段
当前目标阶段
冒泡阶段
事件对象.eventPhase属性可以查看事件触发时所处的阶段

事件对象的属性和方法
event.type 获取事件类型
clientX/clientY 所有浏览器都支持,窗口位置
pageX/pageY IE8以前不支持,页面位置
event.target || event.srcElement 用于获取触发事件的元素
event.preventDefault() 取消默认行为

阻止事件传播的方式
标准方式 event.stopPropagation();
IE低版本 event.cancelBubble = true; 标准中已废弃
常用的鼠标和键盘事件
onmouseup 鼠标按键放开时触发
onmousedown 鼠标按键按下触发
onmousemove 鼠标移动触发
onkeyup 键盘按键按下触发
onkeydown 键盘按键抬起触发

BOM的顶级对象window
window是浏览器的顶级对象,当调用window下的属性和方法时,可以省略window注意:window下一个特殊的属性 window.name

对话框
alert()
prompt()
confirm()
页面加载事件
onload
window.onload = function () {
// 当页面加载完成执行
// 当页面完全加载所有内容(包括图像、脚本文件、CSS 文件等)执行
}
onunload

window.onunload = function () {
// 当用户退出页面时执行
}
onbeforeunload

window.onunload = function () {
// 当用户退出页面前执行
}
location对象
location对象是window对象下的一个属性,时候的时候可以省略window对象
location可以获取或者设置浏览器地址栏的URL
URL
统一资源定位符
URL的组成

scheme://host:port/path?query#fragment
scheme:通信协议
常用的http,ftp,maito等
host:主机
服务器(计算机)域名系统 (DNS) 主机名或 IP 地址。
port:端口号
整数,可选,省略时使用方案的默认端口,如http的默认端口为80。
path:路径
由零或多个’/‘符号隔开的字符串,一般用来表示主机上的一个目录或文件地址。
query:查询
可选,用于给动态网页传递参数,可有多个参数,用’&‘符号隔开,每个参数的名和值用’='符号隔开。例如:name=zs
fragment:信息片断
字符串,锚点.

history对象
back()
forward()
go()

定时器
setTimeout()和clearTimeout()
在指定的毫秒数到达之后执行指定的函数,只执行一次
// 创建一个定时器,1000毫秒后执行,返回定时器的标示
var timerId = setTimeout(function () {
console.log(‘Hello World’);
}, 1000);

// 取消定时器的执行
clearTimeout(timerId);
setInterval()和clearInterval()
定时调用的函数,可以按照给定的时间(单位毫秒)周期调用函数

// 创建一个定时器,每隔1秒调用一次
var timerId = setInterval(function () {
var date = new Date();
console.log(date.toLocaleTimeString());
}, 1000);

// 取消定时器的执行
clearInterval(timerId);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值