JS的DOM和BOM
* JavaScript分三个部分:
- ECMAScript标准:JS的基本的语法
- DOM:Document Object Model --->文档对象模型----操作页面的元素
- BOM:Browser Object Model----->浏览器对象模型---操作的是浏览器
一、DOM对象
文档:把一个html文件看成是一个文档,由于万物皆对象,所以把这个文档看成是一个对象
1.1 什么是HTML DOM
- HTML Document Object Model(文档对象模型)
- HTML DOM 定义了访问和操作HTML文档的标准方法
- HTML DOM 把 HTML 文档呈现为带有元素、属性和文本的树结构(节点树)
1.2 DOM树


画dom树是为了展示文档中各个对象之间的关系,用于对象的导航。
- html文件看成是一个文档,那么这个文档看成是一个对象,文档中的所有的标签都可以看成是一个对象
- 页面中的每个标签,都是一个元素(element),每个元素都可以看成是一个对象
- 标签可以嵌套,标签中有标签,元素中有元素
- html页面中都有一个根标签--html--也叫根元素
- 页面中的有一个根元素(标签--html),里面有很多的元素(有很多的标签,有很多的对象)
- 文档:一个页面就是一个文档
- 元素(element):页面中的所有的标签都是元素,元素可以看成是对象
- 节点(node):页面中所有的内容都是节点:标签,属性,文本
- root:根
1.3 事件概念
- 点击操作:------>事件:就是一件事,有触发和响应,事件源
- 按钮被点击,弹出对话框
- 按钮---->事件源
- 点击---->事件名字
- 被点了--->触发了
- 弹框了--->响应
1.4 初次体验
第一个版本
html代码,点击按钮弹出对话框,对话框:alert()====>js的代码
html代码中嵌入了js的代码,不方便后期的修改和维护
<input type="button" value="显示效果" onclick="alert('我被点了')" />
第二个版本
js代码很多,但是没有分离html和js该怎么做
<script>
function f1() {
//函数中可以写很多的代码
alert("这是一个对话框");
}
</script>
<input type="button" value="显示效果" onclick="f1()"/>
第三个版本
开始分离html和js
<input type="button" value="开始分离代码" id="btn" /> <script>
function f2() {
alert("开发分离html和js代码");
}
function f2() {
alert("嘎嘎");
}
//html标签中的id属性中存储的值是唯一的,
//id属性就像人的身份证号码一样,不能重复,页面中的唯一的标识
//从文档中找到id值为btn的这个标签(元素)
//document.getElementById("id属性的值");======>返回的是一个元素对象
//根据id获取这个标签(元素)
var btnObj=document.getElementById("btn");
//为按钮注册点击事件
btnObj.onclick=f2;//不加括号
</script>
最终的版本代码
<input type="button" value="最终版" id="btn1"/>
<script>
// //根据id属性的值从整个文档中获取这个元素(标签)
var btnObj1=document.getElementById("btn1");
//为该元素注册点击事件
btnObj1.onclick=function () {
alert("哦,这真是太好了");
}; //根据id属性的值从整个文档中获取这个元素(标签)
//为该元素注册点击事件
document.getElementById("btn1").onclick=function () {
alert("哦,这真是太好了");
};
</script>
JS的DOM和BOM的更多相关文章
- day 52 js学习 DOM 和BOM
前戏 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些交互,我们需要继续学习BOM和DO ...
- JS中DOM以及BOM
一.bom对象 1screen对象 console.log(screen.width);// 屏幕宽度 console.log(screen.height);// 屏幕高度 console.log(s ...
- js之 DOM与BOM
JavaScript HTML DOM (文档对象模型)(Document Object Model) 什么是DOM? DOM是W3C标准. DOM定义了访问文档的标准: “W3C文档对象模型(DOM ...
- js关于DOM和BOM
关于BOM和DOM BOM 下面一幅图很好的说明了BOM和DOM的关系 BOM提供了一些访问窗口对象的一些方法,我们可以用它来移动窗口位置,改变窗口大小,打开新窗口和关闭窗口,弹出对话框,进行导航以及 ...
- JS基础--函数与BOM、DOM操作、JS中的事件以及内置对象
前 言 絮叨絮叨 这里是JS基础知识集中讲解的第三篇,也是最后一篇,三篇JS的基础,大多是知识的罗列,并没有涉及更难得东西,干货满满!看完这一篇后,相信许多正在像我一样正处于初级阶段的同学, ...
- JS(DOM 和 BOM)
JS(DOM 和 BOM) 常说的JS(浏览器执行的JS)包含两部分:1.JS基础知识(语法)(ECMA262标准)2.JS-Web-API(W3C标准) W3C 标准中关于 JS 的规定有:(只管定 ...
- 前端(十六)—— JavaScript盒子模型、JS动画、DOM、BOM
JS盒子模型.JS动画.DOM.BOM 一.JS盒模型 1.width | height parseInt(getComputedStyle(ele, null).getPropertyValue(' ...
- js的DOM对象
1.js的Array对象 ** 创建数组(三种) - var arr1 = [1,2,3]; ...
- JS之DOM编程
为什么学dom编程? 通过dom编程,我们可以写出各种网页游戏 dom编程也是我们学习ajax技术的基础,所以我们必需掌握好dom编程. dom编程简介 DOM=Document Object Mo ...
随机推荐
- Apache Rewrite 静态配置
1.mod_rewrite 简介和配置 Rewirte主要的功能就是实现URL的跳转和隐藏真实地址,基于Perl语言的正则表达式规范.平时帮助我们实现拟静态,拟目录,域名跳转,防止盗链等如一个普通访问 ...
- 【Java】Spring快速入门(一)
Spring介绍 Spring可以轻松创建Java企业应用程序.它提供了在企业环境中使用Java语言所需的一切,支持Groovy和Kotlin作为JVM上的替代语言,并可根据应用程序的需要灵活地创建多 ...
- pcm、wav、amr说明
wav比pcm多44个字节(在文件头位置多)
- 安卓 android studio 报错 All flavors must now belong to a named flavor dimension. Learn more at https://d.android.com
这个问题是Android studio升级到3.0之后,运行的时候会提示gradle要升级到3.5版本才能编译.于是我把我的gradle升级到了 gradle-4.1-milestone-1 版本,是 ...
- oracle数据库【表复制】insert into select from跟create table as select * from 两种表复制语句区别
create table as select * from和insert into select from两种表复制语句区别 create table targer_table as select ...
- 转 ORA-13541: system moving window baseline size (691200) greater than retention (432000)
修改awr生成报告时间间隔和保存时间时报错,由默认的每小时生成,保存8天修改为每半个小时生成一次,保存5天: SQL> exec dbms_workload_repository.modify_ ...
- (十四)访问标志 Access_flags
一.概念 上一章节讲到了常量池,如下图,常量池之后便是访问标志acess_flags,占2个字节(u2). 二.例子 编写一个接口. public interface Test{ public fin ...
- C# 获取或设置指定 config 文件的值
ExeConfigurationFileMap 这个类提供了修改.获取指定 config 的功能:新建一个 ExeConfigurationFileMap 的实例 ecf :并设置 ExeConfig ...
- JMC(Java Mission Control)在mac下无法启动和显示界面
错误 `org.eclipse.swt.layout.griddata cannot be cast to org.eclipse.swt.layout.filldata` 解决 来源 注意 根据自己 ...
- java-socket-demo的实现
目录 前言 IO通讯模型 IO通讯模型简介 1. 阻塞式同步IO 2. 非阻塞式同步IO 3. 多路复用IO(阻塞+非阻塞) 4. 异步IO Java对IO模型的支持 注意点及实现方案 TCP粘包/拆 ...