DOM知识点

DOM(文档对象模型)是 HTML 和 XML 的应用程序接口(API)。DOM代表着被加载到浏览器窗口里的当前网页:浏览器向我们提供了当前网页的地图(或者说模型),而我们可以通过js去读取这张地图。
作者:一只斗牛犬
链接:http://www.imooc.com/article/36780
来源:慕课网

1、改变页面的元素和属性

a、获取元素的方法:

document.getElementById()

document.getElementsByTagName()

document.getElementsByClassName()

b、js输出HTML内容

document.write();

c、获取和修改元素的内容:

document.getElementById(id).innerHTML

document.getElementById(id).innerHTML=new HTML;

d、获取和修改元素的属性值:

document.getElementById(id).attribute

document.getElementById(id).attribute=new value;

e、添加html标签:

document.

f、添加html文本内容:

document.createTextNode

g、追加元素:

document.();

h、从父元素中删除子元素:

parent.removeChild(child)

2、改变页面元素的样式

a、修改css样式:

document.getElementById(id).style.property

document.getElementById(id).style.property=new style;

3、对页面元素事件的监听和处理

常用的事件:

onblur:当窗口失去焦点时运行脚本

onfocus:当窗口获得焦点时运行脚本

onchange:当元素改变时运行脚本

onsubmit:当提交表单时运行脚本

onkeydown:当按下按键时运行脚本

onkeypress:当按下并松开按键时运行脚本

onkeyup:当松开按键时运行脚本

onclick:当单击鼠标时运行脚本

ondblclick:当双击鼠标时运行脚本

onmousedown:当按下鼠标按钮时运行脚本

onmousemove:当鼠标指针移动时运行脚本

onmouseout:当鼠标指针移出元素时运行脚本

onmouseover:当鼠标指针移至元素之上时运行脚本

onmouseup:当松开鼠标按钮时运行脚本

onabort:当发生中止事件时运行脚本

DOM基本操作思维导图:

BOM知识点

BOM 主要处理浏览器窗口和框架,不过通常浏览器特定的 JavaScript 扩展都被看做 BOM 的一部分。这些扩展包括:

弹出新的浏览器窗口
移动、关闭浏览器窗口以及调整窗口大小
提供 Web 浏览器详细信息的定位对象
提供用户屏幕分辨率详细信息的屏幕对象
对 cookie 的支持
IE 扩展了 BOM,加入了 ActiveXObject 类,可以通过 JavaScript 实例化 ActiveX 对象

作者:一只斗牛犬
链接:http://www.imooc.com/article/36780
来源:慕课网

a、窗口

window.open():打开新窗口

window.close():关闭当前窗口

window.moveTo():移动当前窗口

window.resizeTo():调整当前窗口的尺寸

b、窗口的内部高度和宽度

标准浏览器:

window.innerHeight

window.innerWidth

对于 Internet Explorer 8、7、6、5:

document.documentElement.clientHeight 或者 document.body.clientHeight

document.documentElement.clientWidth 或者 document.body.clientWidth

c、屏幕对象

screen.availWidth:可用的屏幕宽度

screen.availHeight:可用的屏幕高度

d、地址栏对象

location.hostname:web 主机的域名

location.pathname:当前页面的路径和文件名

location.port:主机的端口 (80 或 443)

location.protocol:所使用的 web 协议

history.back():与在浏览器点击后退按钮相同

history.forward():与在浏览器中点击按钮向前相同

e、浏览器自带的信息

navigator.appVersion:浏览器版本

navigator.platform:浏览器平台

navigator.userAgent:浏览器User-agent header

f、计时器相关的

setInterval()和clearInterval 间隔几秒循环执行/清除定时器

setTimeout 和 clearTimeout() 间隔几秒执行(单次)/清除定时器


JS DOM与BOM的更多相关文章

  1. JS(DOM 和 BOM)

    JS(DOM 和 BOM) 常说的JS(浏览器执行的JS)包含两部分:1.JS基础知识(语法)(ECMA262标准)2.JS-Web-API(W3C标准) W3C 标准中关于 JS 的规定有:(只管定 ...

  2. JS ——DOM,BOM(包含盒模型,动画)总结

    JS盒模型 content: 通过计算后样式获取padding + content: box.clientWidth | box.clientHeightborder + padding + cont ...

  3. day 52 js学习 DOM 和BOM

    前戏 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些交互,我们需要继续学习BOM和DO ...

  4. JS DOM(文档对象模型)与BOM(浏览器对象模型)

    在JS中,对DOM(Document Object Model)对象和BOM(Browser Object Model )对象的操作是非常重要的内容.DOM主要包括HTML文档的属性和方法,像对HTM ...

  5. 前端(十六)—— JavaScript盒子模型、JS动画、DOM、BOM

    JS盒子模型.JS动画.DOM.BOM 一.JS盒模型 1.width | height parseInt(getComputedStyle(ele, null).getPropertyValue(' ...

  6. 理清javascript的相关概念 DOM和BOM

    javascript 有三部分构成,ECMAScript,DOM和BOM,根据宿主(浏览器)的不同,具体的表现形式也不尽相同,ie和其他的浏览器风格迥异.JavaScript=语法+BOM(含DOM) ...

  7. JavaScript---网络编程(6)-Dom和Bom模型概念讲解(节点获取,window对象)

    本节讲Dom和Bom模型概念讲解(节点获取,window对象). out.js: 写了2个输出到页面的函数. function println(param){ document.write(param ...

  8. 前端基础之DOM和BOM

    前端基础之DOM和BOM JavaScript分为 ECMAScript,DOM,BOM. BOM(Browser Object Model)是指浏览器对象模型,它使 JavaScript 有能力与浏 ...

  9. Javascript的组成——EMACScript、DOM、BOM

    EMACScript:一种规范,JS必须准守它的约定,JS的核心. DOM:文档对象模型,W3C标准,JS访问HTML文档的接口. BOM:浏览器对象模型,没有统一的标准.JS访问浏览器的接口. EM ...

随机推荐

  1. IntelliJ IDEA 报错:找不到包或者找不到符号

    原因 在网上各种找 https://blog.csdn.net/qq_17213067/article/details/78895302 https://blog.csdn.net/u01398566 ...

  2. 那什么时候会触发BFC呢?块级格式化上下文

    <html>根元素: float的值不为none: overflow的值为auto.scroll或hidden: display的值为table-cell.table-caption和in ...

  3. Mysql 多实例 +表损坏

    什么是实例? 进程+多个线程+预分配的内存结构 MySQL多实例: 多个进程+多个线程+多个预分配内存结构 多个配置文件: 1)多个端口 2)多个数据目录 3)多个socket文件 ./mysql_i ...

  4. VUE中/deep/深度作用域

    vue中css样式不起作用,用!important也不起作用,此时需要用 /deep/ ,没加之前是 加了之后起作用了,此时这个deep是深度作用域

  5. Javascrip动态添加样式,Dom操作,获取自定义属性

    var layer=document.querySelector('.layer') 添加样式: 添加单个样式: layer.style.display="block" 添加多个样 ...

  6. 记录一次go性能调试的过程

    安装 go, git, go-torch 备注, go1.11后, 集成了 go-torch

  7. 物化视图(materialized view) 实现数据迁移、数据定时同步

    近日公司有一个9i 的Oracle数据库,运行效率低下.想要将其升级到11G. 但是升级之前 要将数据进行同步,好在表不是很多.只有三张表.业务压力也不大,就想到了使用物 化视图的方式将数据同步过来. ...

  8. cmake编译opencv时指定cuda版本

    之前有网友提问说,基于cmake编译时如果切换cuda版本,比如我同时装了cuda8和cuda9,opencv总是找到cuda9,我想用cuda8怎么办?实际上,手头上要配置的工程是基于opencv3 ...

  9. CentOS 7 配置静态IP后不生效 & Job for network.service failed

    参考:http://tieba.baidu.com/p/3233996339#57290767555l 在CentOS中配置静态IP后不生效. 解决办法:将/etc/sysconfig/network ...

  10. Web程序-----批量生成二维码并形成一张图片

    需求场景:客户根据前台界面列表所选择的数据,根据需要的信息批量生成二维码并形成一张图片,并且每张图片显示的二维码数量是固定的,需要分页(即总共生成的二维码图片超出每页显示的需另起一页生成),并下载到客 ...