BOM   Browser Object Model(文档对象模型)

> window对象

1、alert     弹出带有提示和一个确认按钮的警示框

2、confirm       弹出带有一个提示和一个确认按钮一个取消按钮的对话框

3、promt          弹出提示用户输入的对话框

>计时器

每隔一会儿就会执行一次某个动作

设置计时器    setInterval(fun,time)

取消计时器    clearInterval(id)

>跳转

location.href   #获取当前网页的url

location.search     #获取url的数据部分,即?号后面的内容

location.href = url     #跳到指定的url去  (url不能省略协议名)

DOM     Document Object Model(文档对象模型)

> dom树结构

> dom对象

主要是两种:  document对象(文档对象)和element对象(元素对象)

> 查找标签

两种方式:

1、直接查找     根据id、class、标签名、自定义名 来查找

主要方法

document.getElementById()     #通过id查找,得到一个元素对象

document.getElementsByClassName()     #通过类名查找,得到一个元素对象数组

document.getElementsByTagName()         #通过标签名查找,得到一个元素对象数组

document.getElementsByName()             #通过自定义名查找,得到一个元素对象数组

2、导航查找

通过一个已定位的元素的查找其他元素

nextElementSibling       #下一个兄弟节点标签

previousElementSibling     #上一个兄弟节点标签

children               #儿子节点标签

firstElementChild    #第一个儿子节点标签

lastElementchild     #最后一个儿子节点标签

>事件绑定

ele.on事件 = function(){    }

>文本操作

1、获取文本

ele.innerHTML        #文本和标签都能取到

ele.innerText           #只取文本

2、赋值文本

ele.innerHTML="<a href=' ' >123</a>"   # 赋的值可以作为标签处理

ele.innerText = "<a href=' ' >123</a>"     #赋的值只作为纯文本处理

>属性操作

ele.setAttribute()       #设置一个属性

ele.getAttribute()       #拿一个属性的值

ele.removeAttribute()   #移除一个属性

>class属性操作

ele.classList.add()      #ele标签中class属性添加一个值

ele.classList.remove()    #ele标签中class属性移除一个值

>css操作  

通过调style

ele.style.color = 'red'

ele.style.fontSize = '32px'

>value属性操作

主要用于input, select, textarea 标签

ele.value   #查询value值

ele.value="值"   #添加value值

>节点的增删改查

1、创建节点对象

let ele = document.createElement("标签名")

ele.setAttribute()     #给标签对象设置属性

2、添加节点

父节点.appendChild( newnode )

父节点.insertChild(bewnode,某个节点)    #在某个节点前添加新节点

注意:

如果文档树中已经存在了 newchild,它将从文档树中删除,
然后重新插入它的新位置。如果 newchild 是 DocumentFragment 节点,则不会直接插入它,
而是把它的子节点按序插入当前节点的 childNodes[] 数组的末尾。
所以,同一个节点对象只能在文档中出现一次。

3、删除节点

父节点.removeChild(节点)

4、替换节点

父节点.replaceChild(newnode, 某个节点)

>事件

onfocus    #获取光标

onblur       #失去光标

onselect    #选中文本

onload        #页面或图像加载完成,也可以等某个线程完成

onsubmit     #提交

onchange          #内容替换事件(下列框,文件选择框)

onmousedown    #鼠标按钮被按下

onmousemove       #鼠标移动

onmouseout           #鼠标从某个元素移开

onmouseover          #鼠标移到某个元素上

onmouseleave         #鼠标从某个元素移开(一般用这个)

onkeydown             #某个按键被按下

onkeypress             #某个键盘按键被按下并松开

onkeyup                 #某个键盘按键被松开

day048 BOM和DOM的更多相关文章

  1. BOM,DOM,ECMAScripts三者的关系

    一:DOM 文档对象模型(DOM)是表示文档(比如HTML和XML)和访问.操作构成文档的各种元素的应用程序接口(API) DOM是HTML与JavaScript之间沟通的桥梁.   DOM下,HTM ...

  2. BOM和DOM的区别和关联

    BOM 1. BOM是Browser Object Model的缩写,即浏览器对象模型. 2. BOM没有相关标准. 3. BOM的最根本对象是window. 从1可以看出来:BOM和浏览器关系密切. ...

  3. 实现JavaScript的组成----BOM和DOM

    我们知道,一个完整的JavaScript的实现,需要由三部分组成:ECMAScript(核心),BOM(浏览器对象模型),DOM(文档对象模型). 今天主要学习BOM和DOM. BOM: BOM提供了 ...

  4. BOM和DOM详解

    DOM介绍 D(文档)可以理解为整个Web加载的网页文档,O(对象)可以理解为类似window对象只来的东西,可以调用属性和方法,这里我们说的是document对象,M(模型)可以理解为网页文档的树形 ...

  5. JS中的函数、Bom、DOM及JS事件

    本期博主给大家带来JS的函数.Bom.DOM操作,以及JS各种常用的数据类型的相关知识,同时,这也是JavaScript极其重要的部分,博主将详细介绍各种属性的用法和方法. 一.JS中的函数 [函数的 ...

  6. 从零开始的JS生活(二)——BOM、DOM与JS中的事件

    上回书说道,JS中变量.运算符.分支结构.循环和嵌套循环等内容.本回就由本K给大伙唠唠JS中的BOM.DOM和事件. 一."花心大萝卜"--BOM 1.震惊,FFF团为何对BOM举 ...

  7. 前端之BOM和DOM

    BOM和DOM简介 BOM(Browser Object Model)是指浏览器对象模型,它使JavaScript有能力与浏览器进行“对话”. DOM(Document Object Model)是指 ...

  8. BOM和DOM的区别

    一.BOM和DOM之间的关系图 window对象是BOM的顶层(核心)对象,所有对象都是通过它延伸出来的,也可以称为window的子对象由于window是顶层对象,因此调用它的子对象时可以不显示的指明 ...

  9. 前端基础之BOM和DOM

    关于网页交互:BOM和DOM javaScript分为ECMAScript,DOM,BOM . BOM(Browser  object  Model)是指浏览器对象模型,它使JavaScript有能力 ...

随机推荐

  1. mybatis入门--配置

    1.导入jar包 mybatis-x.x.x.jar 导入到lib目录下, 如果使用 Maven 来构建项目,则需将下面的 dependency 代码置于 pom.xml 文件中: <depen ...

  2. ES6 Reflect 与 Proxy

    概述 Proxy 与 Reflect 是 ES6 为了操作对象引入的 API . Proxy 可以对目标对象的读取.函数调用等操作进行拦截,然后进行操作处理.它不直接操作对象,而是像代理模式,通过对象 ...

  3. ORA-00444: background process DBRM failed while starting

    SQL> startup 报错:ORA-00444: background process DBRM failed while startingORA-00020:maximum number ...

  4. Cocos Creator Slider(进度条)的三种实现

    实现原理: 方法一:动态计算,slider上增加背景图,根据滑动的进度动态计算背景图的大小:方法二:slider+progress,根据slider滑动的进度,动态改变progress的显示进度:方法 ...

  5. C语言进阶之路(一)----C语言的内存四区模型

    内存四区模型:操作系统给C/C++编写的程序分配内存,通常将分配的内存划分为以下四个区域:1.栈区:存放局部变量,用完由操作系统自动释放2.堆区:动态分配给程序的内存区域,由程序员手动释放3.数据区: ...

  6. C#中MemoryStream类的介绍

    MemoryStream位于System.IO命名空间,为系统内存提供流式的读写操作.常作为其他流数据交换时的中间对象操作. 1.MemoryStream类封装一个字节数组,在构造实例时可以使用一个字 ...

  7. [macOS] PHP双版本,5.6跟7.1

    转过来的,原文看这里,https://www.symfony.fi/page/how-to-run-both-php-5-6-and-php-7-x-with-homebrew-on-os-x-wit ...

  8. ArchLinux安装Sublime Text 3

    安装方法: 在 /etc/pacman.conf中添加 [archlinuxcn] SigLevel = Optional TrustAll Server = http://repo.archlinu ...

  9. week_one-python基础 列表 增删改查

    # Author:larlly #列表增删改查#定义列表name = ["wo","ni","ta","wo"] #定义 ...

  10. Docker Kubernetes hostPort 代理转发

    Docker Kubernetes  hostPort 代理转发 hostPort: 1. 类似docker -p 映射宿主级端口到容器. 2. 容器所在的主机暴露端口转发到指定容器中. 3. hos ...