[妙味 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 ...
随机推荐
- Mocha的单元测试实战
Mocha Mocha是一个测试框架,为JS应用添加测试.使用见:mochajs. Mocha结合Nodejs实战 ontstair.js 这里我们使用自定义模块:ontstair.js,代码如下. ...
- 使用TypeScript开发ReactNative应用的简单示例
最近小小尝试了下 ReactNative + TypeScript 开发APP,爬了无数坑之后总算弄出来个结果,重要的地方记录下,后面会附上示例代码: 1.开发工具的选择 windows 平台我接触的 ...
- cornerstone the working copy is locked due to a previous文件lock解决办法
解决方法: 1,首先要将隐藏文件显示出来 2,找到lock的所在目录,找到.svn/lock 文件,将其删除即可
- Xcode插件推荐
deriveddata-exterminator: A magic button in Xcode to exterminate the current project's DerivedData d ...
- Java写入文件
import java.io.File;import java.io.FileNotFoundException;import java.io.PrintWriter; public class Fi ...
- 【IE6的疯狂之十三】IE6下使用滤镜后链接不能点击的BUG
大家可能都知道IE6下使用DXImageTransform.Microsoft.AlphaImageLoader滤镜(用于PNG32 Alpha透明)后链接不能点击的BUG,大家也都知道只要在a标签上 ...
- Java错误提示is not an enclosing class
今天脑袋晕乎乎的,犯了个低级错误,好半天才反应过来 一直提示:is not an enclosing class 我居然把 RegisterActivity.class 写成了 RegisterAct ...
- dev Gridcontrol单元格值格式化及在模板中调用命令
<dxg:GridColumn> <dxg:GridColumn.EditSettings> ...
- 《Intel汇编第5版》 数组求和
一.LOOP指令 二.间接寻址 三.汇编数组求和 INCLUDE Irvine32.inc includelib Irvine32.lib includelib kernel32.lib includ ...
- label 不同颜色
label 不同颜色 UILabel* noteLabel = [[UILabel alloc] init]; noteLabel.frame = CGRectMake(60, 100, 200, ...