JS学习四(BOM DOM)
BOM
Screen对象
console.log(window.width);//屏幕宽度
console.log(window.height);//屏幕高度
console.log(window.availWidth);//屏幕可用宽度
console.log(window.availHeight);//屏幕可用宽度
★ location对象
取到浏览器的URL地址信息:
完整的URL路径:
协议名://主机名(IP地址):端口号/文件所在路径?传递参数(name1=value1&name2=value2)#锚点
例如:
http://127.0.0.1:8080/wenjianjia/index.html?name=jredu#top
console.log(location.href); //返回当前完整路径
console.log(location.protocol); //返回协议名
console.log(location.host); //返回主机名+端口号
console.log(location.hostname); //返回主机名
console.log(location.port); //返回端口号
console.log(location.pathname); //返回文件路径
console.log(location.port); //返回端口号
console.log(location.search); //返回开头的参数列表
console.log(location.hash); //返回#开头的锚点
使用JS跳转页面:
location = "http://www.baidu.com";
其他使用location提供的方法跳转页面的方式
location.assign("http://www.baidu.com");
location.replace("http://www.baidu.com");
location.reload("http://www.baidu.com");
function assign(){
//加载新的文档,加载以后,可以回退
location.assign("http://www.baidu.com");
}
function replace(){
//使用新文档替换当前文档,替换以后,不能回退
location.replace("http://www.baidu.com");
}
function reload(){
重新加载当前文档,刷新页面
reload():在本地刷新当前页面,相当于F5
reload():强制刷新,从服务器端重新加载页面,相当于ctrl+F5强制刷新页面
location.reload();
}
/*
history 浏览历史
1、
console.log(history);
console.log(history.length); //表示浏览历史个数
function back(){
history.back(); 后退按钮
}
function forward(){
history.forward(); 前进按钮
}
function go(){
跳转到浏览历史的任意一个页面:
0表示当前页面,-1表示后一页(back),1表示前一页(forward)
}
navigator 了解即可
包含浏览器的各种系统信息。
console.log(navigator);
检测浏览器安装的各种插件。
console.log(navigator.plugins);
Window对象的常用方法
在window对象中的所有方法和属性,均可以省略window关键字。
window.alert(); 》弹窗
1.alert():弹出一个警告提示框;
2.prompt():弹出接受用户的输入;
3.confirm():弹出带有“确定”“取消”按钮的对话框,点击按钮返回
4.close():关闭当前浏览器窗口。在个别浏览器中,只能关闭再当前脚本新打开的页面
(使用超链接、window.open()等方式打开)
5.open():打开一个新窗口。
参数一:新窗口的地址;
参数二:新窗口的名字,并没什么用;
参数三:新窗口的各种属性设置,"属性=值1,属性2=值2,属性3=值3"
6.setTimeout: 设置延时执行,只会执行一次;
setInterval: 设置定时器,每隔n毫秒执行一次。
接受两个参数:需要执行的function、毫秒数。
7.clearTimeout:清除延时器
clearInterval:清楚定时器
使用方法:设置延时器或者定时器时。可以使用变量接受定时器ID;
var id =setInterval;
调用clearInterval时,将id传入,即可清除对应的定时器;
clearInterval(id);
DOM
【DOM树节点】
DOM树节点分为三大类:元素节点、属性节点、文本节点:
文本节点、属性节点属于元素节点的子节点,操作时,均需要先取到元素节点,在操作子节点。
可以使用getElement系列方法,取到元素节点。
【查看元素节点】
getElementById:通过Id取到唯一节点。如果Id重名,只能取第一个。
getElementsByName() :通过name属性
getElementsByTagName() :通过标签名
getElementsByClassName() :通过class名
获取元素节点时,一定要注意:获取节点的语句,必须在DOM渲染完成之后执行,可以有两种方式实现:
① 将js代码写在body之后;② 将js代码写在window.onload函数中。
后面三个getElements,取到的是数组格式,不能直接添加各种属性,而应该取出数组的每一个单独操作。
例如:getElementsByName("name1")[0].onclick=function
【查看/设置属性节点】
1.查看属性节点:getAttribute("属性名");
2.设置属性节点:setAttribute("属性名","新属性值");
查看和设置属性节点,必须先取到元素节点,才能使用。
eg:
var btn1=document.getElementById("btn1");
btn1.onclick=function(){
alert(btn1);
}
var input1=document.getElementByname("input");
JS学习四(BOM DOM)的更多相关文章
- js学习之BOM和DOM
1. 浏览器的原理 1.1 浏览器的多线程 (1) 解析js引擎线程 (2) UI渲染线程 (3) 事件发起线程 (4) 发起请求的线程 (5) 定时器的线程 1.2 同步异步 (1) 前 ...
- js学习总结:DOM节点二(dom基本操作)
一.DOM继承树 DOM——Document Object Model DOM定义了表示修改文档所需要的方法.DOM对象即为宿主对象,由浏览器厂商定义,用来操作html和xml的一类厂商定义,也有人称 ...
- js学习总结:DOM节点一(选择器,节点类型)
DOM:document object model 文档对象模型 DOM就是整个HTML文档的关系图谱(代表整个HTML文档),可以理解为下图: 一.查看元素节点 1.document.getElem ...
- js 学习四 对象应用 吃货游戏
游戏来源于 Mdn学习网站: 该例子用于对象的理解非常有效(建议看完上面网站的内容在开始练习) 弹球 body { margin: 0; overflow: hidden; font-family: ...
- js 学习笔记---BOM
window对象 1. window 对象是Global对象,在全局作用域中声明的变量和函数都可以通过window.来访问.跟直接在window上添加属性效果一样.唯一的区别就是delete时,如果是 ...
- js学习笔记--dom部分(一)
js 学习整理之Dom部分 前面我总结了我最近学习js基础部分,当时提到过js分了三大部分,第一部分ECMA基础也就是第一次写的基础部分, 第二部分也就是DOM部分,也就是这里要写的内容的,然后第三部 ...
- js下 Day01、DOM对象,BOM浏览器对象模型
一.初识DOM 1.什么是DOM?为什么学习DOM 2.DOM是实现js在网页实现交互的关键环节,我们的js代码就是通过DOM的方法来实现对于html内容的操作. 3.认识DOM实现了js和网页结合的 ...
- 前端学习 之 JavaScript DOM 与 BOM
一. DOM介绍 1. 什么是DOM? DOM:文档对象模型.DOM 为文档提供了结构化表示,并定义了如何通过脚本来访问文档结构. 目的其实就是为了能让js操作html元素而制定的一个规范. DOM就 ...
- Node.js基础学习四之注册功能
前言:在Node.js学习(二)和(三)中介绍了如何在Node.js 中获取登录的用户名和密码与数据库进行验证并返回数据给客户端 需求:实现注册功能 为了区分登录和注册是两个不同的请求,在端口后面加上 ...
随机推荐
- viewpager+layout布局文件随数据多少创建滑动页面
近期在做一个答题类型的APP,而其中最重要的是答题卡.而答题卡要如何做? 1.将数据插入到SQLite数据库中 2.建立entity实体包,创建实体类,封装. 3.创建实体与view的List集合 4 ...
- NYOJ 5 Binary String Matching
Binary String Matching 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 Given two strings A and B, whose alp ...
- python自动化运维二:业务服务监控
p { margin-bottom: 0.25cm; line-height: 120% } a:link { } p { margin-bottom: 0.25cm; line-height: 12 ...
- Qt5.8以上版本编译Oracle数据库的OCI驱动教程
在前一篇的文章中我已经发过一个相似的文章,详情请点击:Qt5编译oracle驱动教程. 在那一篇文章中已经可以解决了Qt5的常用版本的Oracle数据库驱动的支持,但是在新的Qt开发工具中那种方法竟然 ...
- 【NO.10】Jmeter - 一个完整的录制脚本的过程
上1篇介绍了"使用Jmeter对一个接口地址或者一个页面地址执行N次请求",也就是你自己干了一件从"零"开始的事情. 那么这1篇介绍"如何使用Jmeter录制'访问一个接口地址或者一个页面地址'的脚本 ...
- 【社交系统研发日记】如何在 Laravel 中 “规范” 的开发验证码发送功能
顺便发个小通知:7月15日ThinkSNS+开源版发布,同时非开源的APP也走出内测阶段,体验二维码也全面发布体验. 什么是ThinkSNS ? ThinkSNS(简称TS),一款全平台综合性社交系统 ...
- MySQL权限说明
--MySQL权限说明 ----------------------2014/06/09 一.权限表 mysql数据库中的3个权限表:user .db. host 权限表的存取过程是: 1)先从use ...
- MySQL索引篇
innodb索引概念 总结记录下innodb的索引概念,以备查看 innodb索引分类: 聚簇索引(clustered index) 1) 有主键时,根据主键创建聚簇索引 2 ...
- [Mysql] 安装后启动不了
Mysql安装后启动报错: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql ...
- oracle 错误码 ORA-00119 / ORA-00130
今天启动oracle时居然报错,错误信息如下: SQL> startup ORA-00119: invalid specification for system parameter LOCAL_ ...