js操作bom和dom
Bom
概念
BOM : Browser Object Model 浏览器对象模型,描述与浏览器进行交互的方法和接 口, ECMAscript是javascript的核心,但如果要在web中使用javascript,那么 BOM则无疑才是真正的核心。
BOM提供了很多对象,用于访问浏览器的功能,这些功能与任何网页内容无关。
window对象
窗口高度
var a = window.innerheight
窗口宽度
var a = window。innerwidth
打开一个新的页面
open (https://www.baidu.com/)
关闭一个页面
在当前页面输入 close() 即可关闭
location对象
获取url
location.href (注意不需要加())
转到其他页面
location.href = "url" 其中url 是你要打开的页面
重新加载
location.reload()
弹出框
alret(“文本”) 警告框 只有确定
confirm("文本") 当你点击确定时返回true 当你点击取消时返回 false
prompt("提示语1","提示语2") 会弹出一个带有input的框,当你再input框中输入文本时,会被拿到
计时器(重点)
计时器分为两种
第一种时隔多少秒做什么事情(只会执行一次),格式 var a = setTimeout(函数(js语句), 毫秒),其中必须时函数,1000毫秒等于一秒。一般来说都会定义一个变量来接受这个计时器,方便清除。
// setTimeout设置
var timer = setTimeout(function(){alert(123);}, 3000)
// 取消setTimeout设置
clearTimeout(timer);
第二种是每隔多少秒进行一次(可以执行多次),格式类似setTimeout ,其中clearInterval(timer)返回的数值是计时器在cpu的地址
// 每隔一段时间就执行一次相应函数
var timer = setInterval(function(){console.log(123);}, 3000)
// 取消setInterval设置
clearInterval(timer);
Dom
概念:文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口。在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象的标准模型就称为DOM。
dom树结构:
查找对象
直接查找有三种,主要是通过id,class,和标签名字来获取,其中id获取到的是一个,其余两个获取的是数组。要拿到具体的值可以通过[“索引”]来取值。
document.getElementById("文本文档中的id")
document.getElementsByClassName("文本文档中的属性名")
document.getElementByTagName("文本文档中的标签名字")
间接查找(通过直接查找找到一个具体的标签,然后再通过间接查找找到想要的标签)儿子标签会将所有的儿子标签拿到,并返回一个数组,父亲标签同理。
var a = document.getElementById("d1")
var a1 = a.parentElemen // 父级标签
var a2 =a.children//儿子标签
var a3 = a.lastElementChild//最后一个儿子标签
var a4 = a.firstElementChild//第一个儿子标签
var a5 = a.nextElementSibling//下一个兄弟标签
var a6 = a.previousElementSibling//上一个兄弟标签
创建节点
其中括号里面的填写是各个标签的类型,可以通过.class的属性名进行属性设置。
var a = document.createElement("a");
添加节点
给父级标签添加一个儿子标签 格式 父级标签 . appendChild(新建的标签)
var a1 = document.getElementById("d1");
a1.appendChild(a);
插入节点
在a1的儿子标签中,插入一个a标签,位置再a2的前面 格式:父级标签.insertBefore(新建的标签,在谁的前面,两个必须都是儿子标签)
a1.insertBefore(a,a2)
删除节点
删除父级标签下的某一个标签 格式:父级标签 . removeChild(要删除的标签)
a1.removeChild(a)
替换节点
替换父级标签下的一个标签 格式: 父级标签 . replaceChild (新的标签,要替换的标签)
a1.replaceChild(a,a2)
文本操作
主要分innerHTML和innerText。两个格式都是 标签 . innerText(innerHTML) = "要设置的文字"
两者的区别在于前者可以识别自己手写的标签内容,而后者只能写纯文本。同时都是将原先的内容替换掉
a.innerText = "<div>你好啊</div>" //<div>你好啊</div>
a.innerHTML ="<div>你好啊</div>" // 你好啊
attribute操作
var divEle = document.getElementById("d1");
divEle.setAttribute("age","18") #比较规范的写法
divEle.getAttribute("age")
divEle.removeAttribute("age") // 自带的属性还可以直接.属性名来获取和设置,如果是你自定义的属性,是不能通过.来获取属性值的
imgEle.src
imgEle.src="..."
value操作
主要是用于拿到标签的值 适用于1.input 2.select 3.textarea
var a_text = a.value
Class操作
className 获取所有样式类名(字符串) 首先获取标签对象 标签对象.classList.remove(cls) 删除指定类
classList.add(cls) 添加类
classList.contains(cls) 存在返回true,否则返回false
classList.toggle(cls) 存在就删除,否则添加,toggle的意思是切换,有了就给你删除,如果没有就给你加一个
css操作
JS操作CSS属性的规律:
1.对于没有中横线的CSS属性一般直接使用style.属性名即可。
2.对含有中横线的CSS属性,将中横线后面的第一个字母换成大写即可。
事件
onclick 当用户点击某个对象时调用的事件句柄。
ondblclick 当用户双击某个对象时调用的事件句柄。 onfocus 元素获得焦点。 // 练习:输入框
onblur 元素失去焦点。 应用场景:用于表单验证,用户离开某个输入框时,代表已经输入完了,我们可以对它进行验证.
onchange 域的内容被改变。 应用场景:通常用于表单元素,当元素内容被改变时触发.(select联动) onkeydown 某个键盘按键被按下。 应用场景: 当用户在最后一个输入框按下回车按键时,表单提交.
onkeypress 某个键盘按键被按下并松开。
onkeyup 某个键盘按键被松开。
onload 一张页面或一幅图像完成加载。
onmousedown 鼠标按钮被按下。
onmousemove 鼠标被移动。
onmouseout 鼠标从某元素移开。
onmouseover 鼠标移到某元素之上。 onselect 在文本框中的文本被选中时发生。
onsubmit 确认按钮被点击,使用的对象是form。
绑定方式有两种:
第一种:不常用 函数中的ths是一个形参,可以随便写
<div id = "i1" onclick="f1(this)">
测试
</div>
<script>
function f1(ths) {
ths.style.backgroundColor = "red"//点击之后背景色变成红色 }
第二种:实现了css 与js的分离 比较常用
<div id = "i2">
测试
</div>
<script>
var d2 = document.getElementById("i2")
d2.onclick =function () {
this.style.backgroundColor = "red"
}
</script>
js操作bom和dom的更多相关文章
- JS之BOM和DOM(来源、方法、内容、应用)
1.Javascript组成(此文为转载) JavaScript的实现包括以下3个部分: 1)核心(ECMAScript):描述了JS的语法和基本对象. 2)文档对象模型 (DOM):处理网页内容的方 ...
- 前端js之BOM和DOM操作
目录 引入 BOM操作 window对象 history对象 location对象(重点) 弹出框 定时器 计时器相关 DOM 查找标签 直接查找 间接查找 节点操作 创建节点及添加节点 删除节点 替 ...
- js对象(BOM部分/DOM部分)
JS总体包括ECMAScript,DOM,BOM三个部分,但是能够和浏览器进行交互的只有DOM和BOM,那么到底什么是DOM和BOM呢 概念 BOM(Browser Object Model)是指浏览 ...
- JS中BOM和DOM之间的关系
一.Javascript组成JavaScript的实现包括以下3个部分:1.核心(ECMAScript):描述了JS的语法和基本对象.2.文档对象模型 (DOM):处理网页内容的方法和接口.3.浏览器 ...
- js,bom,dom(相信我,你看不懂我写的)
js dom bom 2种结合方式: 1.在body中加入script标签,<script type="text/javascript" >alert(" 向 ...
- js中BOM与DOM的概念与区别
1.BOM 浏览器对象模型 提供了独立于内容而与浏览器窗口进行交互的对象.描述了与浏览器进行交互的方法和接口,可以对浏览器窗口进行访问和操作,譬如可以弹出新的窗口,改变状态栏中的文本,对Cookie的 ...
- js之BOM和DOM
今天我们来学习js中的一些基础的操作. 一.BOM对象 BOM(浏览器对象模型),可以对浏览器窗口进行访问和操作.使用 BOM,开发者可以移动窗口.改变状态栏中的文本以及执行其他与页面内容不直接相 ...
- 百万年薪python之路 -- JS的BOM与DOM对象
BOM对象 location对象 location.href 获取URL location.href="URL" // 跳转到指定页面 location.reload() 重新加载 ...
- JS之BOM、DOM
一.BOM对象 1,window对象 所有浏览器都支持window对象,从概念上讲:一个HTML文档对应一个window对象,从功能上讲:控制浏览器窗口的,从使用上讲:window对象不需要创建对象, ...
随机推荐
- CodeWarrior10 如何复制Workspace配置到另一个workspace
https://mcuoneclipse.com/2012/04/04/copy-my-workspace-settings/comment-page-1/#comment-106061
- 百度ueditor的图片上传,前后端交互使用
百度ueditor的使用 一个文本编辑器,看了网上很多文档写的很乱,这里拾人牙慧,整理下怎么使用. 这个东西如果不涉及到图片附件上传,其实很简单,就是几个前端文件,直接引用,然后配置下ueditor. ...
- time 命令
语法 time [options] COMMAND [arguments] 参数 -o 或 --output=FILE:设定结果输出档.这个选项会将 time 的输出写入 所指定的档案中.如果档案已经 ...
- 爬虫学习--MOOC爬取豆瓣top250
scrapy框架 scrapy是一套基于Twisted的异步处理框架,是纯python实现的爬虫框架,用户只需要定制开发几个模块就可以轻松实现一个爬虫,用来抓取网页内容或者各种图片. scrapy E ...
- Verilog中关于wire使用的一些小知识
1.Verilog中如果wire连接到常量,而常量没有说明他的位宽,那么将会默认为32位 如: input [:] x ; wire [:] a; assign a = + x; 上述代码在综合的时候 ...
- SQL 数据开发(经典)转贴
数据开发(经典) 1.按姓氏笔画排序: Select * From TableName Order By CustomerName Collate Chinese_PRC_Str oke_ci_as ...
- ES查询-match VS match_phrase
我们以一个查询的示例开始,我们在student这个type中存储了一些学生的基本信息,我们分别使用match和match_phrase进行查询. 首先,使用match进行检索,关键字是“He is”: ...
- [原创]自定义参数静默方式安装JDK1.8
摘要:当Java桌面程序开发完成做产品的时候,面对未知的安装环境,通常是编写一些预安装检测脚本/程序,让程序傻瓜化安装以便减少分发出去的产品带来 的未知工作量(安装答疑,操作系统问题引起安装失败等), ...
- JS继承(一)
突然发现自己很久没写过什么东西了 其实从博客更新的速度上就可以看出一个人近期有没有成长 对 …… 我没有成长 也可以由此看出自己选择的企业是不是对的 对 …… 我不会离职…… 略略略 来咬我啊…… 于 ...
- 1,charles的功能能介绍和安装破解
1,charles的功能 1,截取http和https网络包 2,支持重发网络请求,方便后端调试 3,支持网络请求的截获和动态修改 4,支持模拟弱化的网络 2,安装和破解 1,进入官网下载地址:htt ...