BOM(浏览器对象模型)

1. location相关  

1. location.href     获取当前url
2. location.href="http://www.sogo.com" 跳转到指定页面
3. location.reload() 重新加载页面

2.定时器&延时器

timer_obj = windows.setInterval(function(){...},time)    注:time的单位是毫秒
windows.clearInterval(timer_obj)            用于清除定时器,可以与点击事件 延时器对象 = windows.Timeout(function(){},time)    在time毫秒后执行function函数
windows.clearTimeout(延时器对象)

DOM(文档对象模型,可以访问HTML文档的所有元素)

1.DOM树

2. JS通过DOM操作HTML

1. 改标签(标签的内容)
2. 改标签的属性
3. 改样式
4. 事件相关

3.操作标签

1.js查找标签

直接查找:

document.getElementById           根据ID获取一个标签
document.getElementsByClassName 根据class属性获取
document.getElementsByTagName 根据标签名获取标签合集

间接查找:

parentElement            父节点标签元素
children 所有子标签
firstElementChild 第一个子标签元素
lastElementChild 最后一个子标签元素
nextElementSibling 下一个兄弟标签元素
previousElementSibling 上一个兄弟标签元素

2. 创建标签

语法:
document.createElement("标签名")

3. 添加标签

1. 在内部最后添加
父标签.appendChild(新创建的标签)
2. 在内部指定标签前面添加
父标签.insertBefore(新创建的标签,指定标签)

4. 删除标签

从父标签里面删除指定的标签
父标签.removeChild(指定的标签)

5. 替换

在父标签里面用新创建的标签替换指定标签
父标签.replaceChild(新创建的标签,指定的标签)

4.操作标签的属性

1. 常用的属性
  1. innerHTML --> 全部(子标签及子标签的文本内容)
  2. innerText --> 标签(子标签)的文本内容 2. 标签的属性
  1. .setAttribute("age","18") --> 设置属性
  2. .getAttribute("age") --> 获取属性的值
  3. .removeAttribute("age") --> 删除指定的属性 对于标签默认的属性
  1. a标签.href/img标签.src
  2. a标签.href="http://www.sogo.com"/img标签.src="..."

5. 获取值(input/select/textarea)

input标签.value()
select标签.value()
textarea标签.value()

6. 操作标签的样式

1. 通过class名去改变样式

1. 获取标签所有样式类
  1. .className --> 得到的是字符串
  2. .classList --> 得到的是数组

2. 使用classList操作样式

    1. .classList.contains("样式类") --> 判断包不包含指定的样式类
    2. .classList.add("样式类") --> 添加指定的样式类
    3. .classList.remove("样式类") --> 删除指定的样式类
    4. .classList.toggle("样式类") --> 有就删除没有就添加

2. 通过.style直接修改CSS属性

1. CSS属性带中横线的
  background-color: red;
  .style.backgroundColor=green; 把横线改为大写字母
2. CSS属性中不带中横线的
  .style.color=red;    与css样式写法一致

7. 事件相关

1. 绑定事件的方式

  方式一:

  1. 在标签内通过属性来设置(onclick=foo(this))
  this指的是当前触发事件的标签!!!
  2. 通过JS代码绑定事件

  

  方式二:

  

<div id="d2">点我</div>
<script>
var divEle2 = document.getElementById("d2");
divEle2.onclick=function () {
this.innerText="呵呵";
}
</script>

2. 常用的事件

  1. onclick 当用户点击某个对象时调用的事件句柄。
  2. ondblclick 当用户双击某个对象时调用的事件句柄。

  3. onfocus 元素获得焦点。
  4. onblur 元素失去焦点。 应用场景:用于表单验证,用户离开某个输入框时,代表已经输入完了,我们可以对它进行验证.
  5. onchange 域的内容被改变。 (select联动示例)

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. web3 - BOM&DOM

    一.BOM (浏览器对象模型) 浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器"对话". Window 对象 1.window.onresize // 1 w ...

  8. BOM,DOM常见操作和DHML

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

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

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

随机推荐

  1. 智能门锁测试程序和PCB板线路通断检测程序经验总结

    这次去WZ出差,还是很累的,之前一年多没有搞嵌入式了,更重要的是之前没有接触太深刻GPIO的用法等等原因,导致很心累. 必须掌握的技能: (1)SPI和IIC总线,模拟和专用外设两种方式,他们的重要性 ...

  2. 14.0-uC/OS-III挂起队列

    1.当任务等待信号量. mutex.事件标志组.消息队列时,该任务会被放入挂起队列. 挂起队列是一个OS_PEND_LIST类型的数据结构,它包含了三部分内容. .NbrEntries 挂起队列中有几 ...

  3. 用maven创建一个web项目

    下面所使用的Eclipse开发工具为Eclipse Java EE IDE 版本. 1.创建一个maven项目,如图所示: 选择“maven-archetype-webapp”,如图所示: 后面几步按 ...

  4. rosetta对称性文件(rosetta symmetry file)的产生及应用

    针对对称性PDB 3UKM,使用make_symmdef_file.pl脚本,可以执行产生对称单元及对称文件: $> $ROSETTA3/src/apps/public/symmetry/mak ...

  5. #WEB安全基础 : HTTP协议 | 0x0 TCP/IP四层结构

    学完HTML/CSS了? 做了这么多网页,但是你知道它们是怎么工作的吗? 作为你的朋友,我也对这些东西感兴趣,在写博客的同时也在和你一起学. 废话少说,进入正题 网络中的通信包括两个端分别为:客户端( ...

  6. HTML 鼠标坐标和元素坐标

    在这一篇文章中,将会介绍鼠标坐标.元素坐标以及鼠标在指定元素内的坐标. 1. 鼠标坐标 在触发鼠标相关事件时(如:click.mousemove),可以通过事件对象获取当前鼠标的坐标. 获取的坐标可分 ...

  7. 如何让其他电脑访问到自己的Django项目

    1.首先修改setting.py文件 ALLOWED_HOSTS = ['*'] 2.运行时使用该命令 python3 manage.py runserver 0:8000 备注:如果上* 为固定的i ...

  8. 第七篇——Struts2的接收参数

    Struts2的接收参数 1.使用Action的属性接收参数 2.使用Domain Model接收参数 3.使用ModelDriven接收参数 项目实例 1.项目结构 2.pom.xml <pr ...

  9. [转载]Javascript .then()这个方法是什么意思?

    then()方法是异步执行. 意思是:就是当.then()前的方法执行完后再执行then()内部的程序,这样就避免了,数据没获取到等的问题. 语法:promise.then(onCompleted, ...

  10. miui获取完整root

    1.先解锁BL锁 需要在miui官网申请,下载相关软件,申请后下载软件,提示需要过xx小时才能解锁(我是72小时) 2.解开BL锁后,在系统设置里开启root权限 3.开启root权限后,发现/sys ...