[妙味 DOM] 第二课:DOM、BOM相关方法及属性
知识点总结
- 获取样式、增加样式、删除样式函数的封装
- 表格
tHead
tBodies
tFoot
rows 行
cells 列
- 表单
表单可以通过name来获取元素:表单.name值
onchange 当值发生改变时触发
text: 当光标移开时触发
radio/checkbox: 标准下点击改变就触发,非标准下改变并光标离开时才触发(推荐使用onclick),判断是否选中checked
select: 值发生改变时触发 onsubmit 事件 当提交表单时触发
submit() 方法,比如:页面加载时过几秒setTimeout跳转到另一个页面 onreset 事件 当重置表单时触发
选择对话框 confirm() 确定和取消,有返回值,确定为true,取消为false
输入对话框 prompt('内容','结果'),有返回值,返回为结果,取消和关闭,返回null
- BOM
BOM 浏览器对象模型
open(url,打开窗口的方式),返回值为新窗口的window对象。如果不写参数,默认打开一个新的空白窗口
第一个参数为空,则默认是空白页面
第二个参数为空,则默认打开新窗口
window.open('http://www.baidu.com','_self') 在本窗口打开页面
window.open('http://www.baidu.com','_blank') = window.open('http://www.baidu.com') 在新窗口打开页面 存在一个返回值,返回值为新打开窗口的window对象
opener = window.open();
opener.document.body.style.background = 'blue'; //新打开的窗口,背景设置成blue,注:跨域无法处理。
window.close();
存在兼容性问题:
1、IE :询问是否关闭
2、FF、safari :无法关闭
3、chrome :关闭窗口
close(),可以关闭用open()方法打开的窗口 window.navigator.userAgent 浏览器信息
window.navigator.userAgent.indexOf('MSIE') window.location url地址,是一个对象,因此有属性
window.location.href url信息
window.location.search url?后面的内容,包括?号
window.location.hash url#后面的内容,包括#号
window.location.hash或window.location.hashname 域名
- 窗口尺寸和大小
可视区尺寸:
document.documentElement.clientWidth
document.documentElement.clientHeight
滚动距离:
document.documentElement.scrollLeft/scrollTop
document.body.scrollLeft/scrollTop =>针对chrome 处理兼容性:
var scroll = document.documentElement.scrollTop || document.body.scrollTop 内容高(盒子里除边框外,能放东西的高):
document.body.scrollHeight/scrollWidth
元素.scrollHeight/scrollWidth 文档高度:
document.body.offsetHeight(推荐)
document.documentElement.offsetHeight使用会存在兼容问题,在IE下成可视区的高了 clientHeight = height+padding
offsetHeight = height+padding+border / clientHeight+border

- window对象常用事件
onscroll 当滚动条滚动的时候触发
例子:让BOX在窗口的中间位置,布局的方法position:fixed,IE6采用onscroll+运动框架(可以解决抖动的问题)来实现。
onresize 当窗口大小发生改变的时候触发
[妙味 DOM] 第二课:DOM、BOM相关方法及属性的更多相关文章
- [妙味Ajax]第二课:实例:留言板、瀑布流
知识点总结 瀑布流原理(固定布局) 总宽度大小固定 每列宽度固定,比如LI,高度自动计算,每列使用float:left来布局 计算最短的一列,将Div插到最短的一列处(li里面包div)(getSho ...
- [妙味Ajax]第一课:原理和封装
知识点总结: ajax是异步的javascrip和xml,用异步的形式去操作xml 访问的是服务端,即https://127.0.0.1/ 或者 https://localhost 1.创建一个aja ...
- BOM相关方法及属性
browser objec tmodel浏览器对象模型 BOM里面的方法大多在window对象底下,window代表窗口,也就是说,在BOM里面大多调用window下面的东西. 1.open方法是wi ...
- 妙味课堂——HTML+CSS(第一课)
一句话,还记忆不如烂笔头,何况还这么笨,记下笔记,也是记录这一路学习的过程. 妙味课堂第一课并未一味地先讲HTML,而是穿插着CSS讲解,这一点不同于一些其他视频,这一点挺特别的!所以这一课涉及到HT ...
- 风炫安全WEB安全学习第二十二节课 DOM型XSS讲解
风炫安全WEB安全学习第二十二节课 DOM型XSS讲解 Dom型XSS演示 通过Javascript,可以重构整个HTML文档,你可以添加.移除.改变或重排页面上的项目 要改变页面的某个东西,Java ...
- HTML的DOM和浏览器的BOM
DOM和BOM的区别 HTML DOM 的 document 是 BOM 的 window 对象的属性之一: 通过可编程的对象模型,JavaScript 获得了足够的能力来创建动态的 HTML. Ja ...
- 妙味课堂:JavaScript初级--第11课:字符串、查找高亮显示
1.数字字母 Unicode 编码 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content- ...
- DOM相关方法,属性整理
DOM相关方法,属性整理1.获取元素的方法 1根据id获取对象 document.getElementById(''); 2根据标签名获取对象 document.getElementsByTagNam ...
- 妙味课堂——HTML+CSS(第四课)(二)
单开一篇来讲一个大点的话题——清浮动 来看下例: <!DOCTYPE html> <html> <head> <meta charset="U ...
随机推荐
- 修改linux默认ssh 端口
修改ssh的默认端口 1.编辑ssh配置文件: #vi /etc/ssh/ssh_config #vi /etc/ssh/sshd_config ...
- OpenGL的状态机理解
OpenGL是一种状态机模式,比如你用glEnable打开一个状态,在以后的绘图中将一直保留并应用这个状态,除非你调用glDisable及同类函数来改变该状态或程序退出.例如当前颜色是一个状态变量,可 ...
- Sipdroid实现SIP(四): 传输层和应用层之间的枢纽SipProvider
目录 一. 概述 二. 主要变量 三. 主要方法 四. 在Sipdroid中的应用 一. 概述 在整套Sipdroid源码中, 类SipProvider是最靠近TCP/UDP的一层, 在Sipdroi ...
- 写一个MyList
首先定义接口 using System; using System.Collections.Generic; using System.Linq; using System.Text; using S ...
- Token注解防止表单的重复提交
注解的一些基础: 参见http://blog.csdn.net/duo2005duo/article/details/50505884和 http://blog.csdn.net/duo2005duo ...
- AngularJSLiveLessons
https://www.youtube.com/watch?v=8P4K6NCFtJ8&feature=youtu.be&list=PLzpMMGE0rxPkenSURlthkctgK ...
- yarn的调度器
三种调度器 1.FIFO Scheduler 把应用按提交的顺序排成一个队列,这是一个先进先出队列,在进行资源分配的时候,先给队列中最头上的应用进行分配资源,等最前面的应用需求满足后再给下一个分配,以 ...
- package scripts在前端项目的使用
前端的项目往往依赖了很多打包.部署工具,比如grunt,gulp,webpack.....,在这么多打包.部署工具里,有这各自的命令,这样给项目带来了很多烦恼,不同的项目不同的命令,有没有办法统一接口 ...
- System.Data.DbType和数据库映射关系
有如下类型的映射对照: System.Data.SqlClient.SqlDbType System.Data.OleDb.OleDbType System.Data.Odbc.OdbcType S ...
- ORALCE 编译过程卡死解决方法。
--摘自网易博客 术士 在对存储过程进行test的时候,没有完全停止,就又在另外一个窗口,对它进行修改而且进行编译,出现了卡死现象. 用PLSQL Developer 在session里,找到这条se ...