一、BOM (浏览器对象模型)

浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器"对话"。

Window 对象

1.window.onresize

// 1
window.innerHeight - 浏览器窗口的内部高度(包括滚动条)
window.innerWidth - 浏览器窗口的内部宽度(包括滚动条) // 2
document.documentElement.clientHeight
document.documentElement.clientWidth // 3
document.body.clientHeight
document.body.clientWidth

2.Window Screen

screen.availWidth - 可用的屏幕宽度
screen.availHeight - 可用的屏幕高度

3.window.open() - 打开新窗口

4.window.close() - 关闭当前窗口

5.Window Location

function toBaidu() {
location.assign("http://www.baidu.com");
}

6.Window History

history.back() - 与在浏览器点击后退按钮相同
history.forward() - 与在浏览器中点击按钮向前相同

7.Window Navigator

window.navigator 对象包含有关访问者浏览器的信息。
<div id="example"></div>
<script>
txt = "<p>浏览器代号: " + navigator.appCodeName + "</p>";
txt+= "<p>浏览器名称: " + navigator.appName + "</p>";
txt+= "<p>浏览器版本: " + navigator.appVersion + "</p>";
txt+= "<p>启用Cookies: " + navigator.cookieEnabled + "</p>";
txt+= "<p>硬件平台: " + navigator.platform + "</p>";
txt+= "<p>用户代理: " + navigator.userAgent + "</p>";
txt+= "<p>用户代理语言: " + navigator.systemLanguage + "</p>";
document.getElementById("example").innerHTML=txt;
</script>

8.JavaScript 弹窗

警告框 alert
确认框 confirm
提示框 prompt

9.JavaScript 计时事件

window.setInterval();	//间隔指定的毫秒数不停地执行指定的代码。
window.setTimeout(); //停止指定时间后执行。

10.JavaScript Cookie

Cookie 用于存储 web 页面的用户信息。默认情况下,cookie 在浏览器关闭时删除。

document.cookie

二、DOM (文档对象模型)

通过 DOM,可访问 HTML 文档中的所有元素。
所以 JavaScript 获得了足够的能力来创建动态的 HTML。

  1. JavaScript 能够改变页面中的所有 HTML 元素
  2. JavaScript 能够改变页面中的所有 HTML 属性
  3. JavaScript 能够改变页面中的所有 CSS 样式
  4. JavaScript 能够对页面中的所有事件做出反应

三、查找 HTML 元素

1.通过 id 找到 HTML 元素

var element = document.getElementById("idName");

2.通过标签名找到 HTML 元素

var element = document.getElementsByTagName("tagName")

3.通过类名找到 HTML 元素

var element = document.getElementsByClassName("className");

四、改变 HTML 内容

1.在 JavaScript 中,document.write() 可用于直接向 HTML 输出流写内容。

// 相html 文档中添加新标签 p 的文本内容
document.write("<p>" + "内容" + "</p>");

2.修改 HTML 内容的最简单的方法时使用 innerHTML 属性。

// 修改标签 p 的文本内容
document.getElementById("p").innerHTML="新文本!";

五、改变 HTML 属性

1.document.getElementById(id).attribute = 新属性值

<!DOCTYPE html>
<html>
<body> <img id="image" src="oldPath.png"> <script>
document.getElementById("image").src="newPath.png";
</script> </body>
</html>

六、改变 HTML 样式

document.getElementById(id).style.property = 新样式

// 改变标签 p 的背景颜色、字体、字体大小等
document.getElementById("p").style.color="blue";
document.getElementById("p").style.fontFamily="宋体";
document.getElementById("p").style.fontSize="20";

七、改变 HTML 事件反应

this ,表示当前标签。

// 元素被点击:onclick

// 页面加载完成:onload

// 离开页面:onunload

// 输入框被修改:onchange

// input 文本框获得焦点:onfocus

// 鼠标事件:onmouseover、onmouseout

八、添加事件监听:addEventListener() 方法

你可以向任何 DOM 对象添加事件监听,不仅仅是 HTML 元素。如: window 对象。

// 给一个标签添加事件监听,当被点击时,弹出弹窗
element.addEventListener("click", function(){ alert("Hello World!"); });

九、添加或删除 HTML 元素

1.添加标签

<script>

var p = document.createElement("p");
var node = document.createTextNode("这是一个新段落。");
p.appendChild(node); var element = document.getElementById("div");
element.appendChild(p); </script>

2.删除标签

<script>

var parent=document.getElementById("div");
var child=document.getElementById("p");
parent.removeChild(child); </script>

web3 - BOM&DOM的更多相关文章

  1. JavaScript:BOM&DOM

    BOM(Browser Object Model): feature: 1.BOM has no relevant standards. 2.The fundamental object of BOM ...

  2. JavaScript BOM DOM 对象

    title: JavaScript BOM DOM 对象 tags: JavaScript --- browser object model document onject model BOM对象 w ...

  3. 【转】了解nodejs、javascript间的关系!bom&dom&ecmascript

    地址:https://www.cnblogs.com/JetpropelledSnake/p/9450810.html bom&dom:https://www.cnblogs.com/wang ...

  4. BOM DOM

    http://www.cnblogs.com/yexiaochai/archive/2013/05/28/3102674.html DOM Document Object Model 文档对象模型 一 ...

  5. JS学习四(BOM DOM)

    BOM                Screen对象 console.log(window.width);//屏幕宽度 console.log(window.height);//屏幕高度 conso ...

  6. js BOM DOM

    BOM对象 BOM(浏览器对象模型),可以对浏览器窗口进行访问和操作.使用 BOM,开发者可以移动窗口.改变状态栏中的文本以及执行其他与页面内容不直接相关的动作. 简而言之就是使 JavaScript ...

  7. BOM,DOM常见操作和DHML

    BOM (Browser Object Model)浏览器对象模型,控制浏览器的一些行为 window对象 代表一个HTML文档 属性 页面导航的5个属性 self, parent, top, ope ...

  8. BOM&DOM

    BOM(浏览器对象模型) 1. location相关 . location.href 获取当前url . location.href="http://www.sogo.com" 跳 ...

  9. Python12/25--前端之BOM/DOM

    一.DOM 1. 什么是DOM 文档对象模型 Document Object Model 文档对象模型 是表示和操作 HTML和XML文档内容的基础API 文档对象模型,是W3C组织推荐的处理可扩展标 ...

随机推荐

  1. nginx中支持.htaccess并禁止php在特定目录无法运行

    在nginx.conf中的server里面 include /yjdata/www/thinkphp/.htaccess; 在对应的目录下面创建.htaccess,并填写以下内容,(image是跟目下 ...

  2. python_如何为创建大量实例节省内存?

    案例: 某网络游戏中,定义了玩家类Player(id, name, status,....),每有一个在线玩家,在服务器程序内有一个Player的实例,当在线人数很多时,将产生大量实例(百万级别) 需 ...

  3. 爬虫_url去重策略

    如何对url去重? 将访问url保存到数据库中,效率低,最简单 将url保存到set中,查询速度快,但当url达到1亿多条时候,占用太多内存空间 将url经过md5等方法哈希后保存到set中 用bit ...

  4. Linux指令--telnet

    telnet命令通常用来远程登录.telnet程序是基于TELNET协议的远程登录客户端程序.Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式.它为用户 ...

  5. 微信支付JSAPI公众号支付授权目录

    详情 http://yangjunwei.com/a/1815.html

  6. 【Python3之迭代器,生成器】

    一.可迭代对象和迭代器 1.迭代的概念 上一次输出的结果为下一次输入的初始值,重复的过程称为迭代,每次重复即一次迭代,并且每次迭代的结果是下一次迭代的初始值 注:循环不是迭代 while True: ...

  7. php之快速排序

     <?phpfunction shell_sort(array $arr){        $right=$left = array();    $Rights=$Lefts = array() ...

  8. LVS负载均衡介绍

    LVS介绍 负载均衡器 • 链路负载均衡 (三层负载均衡) • 服务器负载均衡 (四层负载均衡) • 应用层负载均衡 (七层负载均衡) • 全局负载均衡 基本情况 • 实现服务器负载均衡 • 核心功能 ...

  9. spring boot 中实现兼容不同的请求类型的方法。

    比如一个接口,既想实现请求参数是application/json,又想实现form提交,改怎么做呢?用postman去测试,发现不可能做到两全其美. 我有一个方法,就是不用requestbody,也可 ...

  10. 我的前端故事----关于前端数据&逻辑的思考

    最近重构了一个项目,一个基于redux模型的react-native项目,目标是在混乱的代码中梳理出一个清晰的结构来,为了实现这个目标,首先需要对项目的结构做分层处理,将各个逻辑分离出来,这里我是基于 ...