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 ...
随机推荐
- vue 事件结合双向数据绑定实现todolist
<template> <div id="app"> <input type="text" v-model='todo' /> ...
- nginx奔溃自动重启Shell脚本
# vi /usr/local/nginx/sbin/nginx_restart.sh 贴入一下代码: #!/bin/bash #www.xmsolink.com #Monitor nginx ser ...
- 单例模式以及Python实现
单例模式以及Python实现 单例模式 单例模式就是确保一个类只有一个实例.当你希望整个系统中,某个类只有一个实例时,单例模式就派上了用场.比如,某个服务器的配置信息存在在一个文件中,客户端通过App ...
- 123457123456#4#----com.MC.mathGame246----前拼后广--数学Q版训练Game-mc4444
com.MC.mathGame246----前拼后广--数学Q版训练Game-mc
- systemctl service
一.systemctl常用命令 systemctl list-units ##列出当前系统服务的状态 systemctl list-unit-files ##列出服务 ...
- 关于PF_INET和AF_INET的区别
在写网络程序的时候,建立TCP socket: sock = socket(PF_INET, SOCK_STREAM, 0);然后在绑定本地地址或连接远程地址时需要初始化sockaddr_in结构 ...
- EM算法概念
EM算法是一种非常经典的alternative optimizing算法.alternative optimizing的思想就是对于一个最优化问题,可以计算分为两步或者参数分为两个,就可以随机任意的选 ...
- vs.Debug.vector迭代器报错(_ITERATOR_DEBUG_LEVEL)
1.vs2017.Win7x64 std::vector<ULONG>,在 使用 *iter 取某个 ULONG时 报错,release不报错,报错信息: ZC:具体原理不明,暂时的解决方 ...
- vue 跨域简记
0.服务端设置 app.use(function(req, res, next){ //设置跨域访问 res.header('Access-Control-Allow-Origin', '*'); r ...
- vmware linux 硬盘空间不足时增加硬盘并挂载
不同的版本的vmware在设置界面中可能稍有不同,基本是一致的. 还有一种方式是扩展,这里没有记录,扩展时需要在虚拟机关机状态下. 1.选择在vmware中点击设置并打开,将光标定位在hard Dis ...