JavaScript Dom 事件 Bom 定时器方法
目录
- Dom
- HTML Dom
- Node:节点对象,其他5个的父对象
- 修改标签体内容 属性 innerHTML
- 事件
- BOM
- 定时器方法
- Navigator:浏览器对象
- creen:显示器屏幕对象
- History:历史记录对象
- Location:地址栏对象
- a标签使用js代码
Dom
介绍
控制Html文档的内容
概念:将标记语言文档的各个组成部分,封装为对象,可以使用这些对象,对标记语言文档进行CRUD的动态对象
核心DOM 针对任何结构化文档的标准模型
Attribute:属性对象
Text:文本对象
Comment:注释对象
Documnet:文档对象
Element:元素对象
获取Element对象
getElementsByTagName():根据元素名称获取元素对象们,返回值是一个数组
div class="div2">1</div>
<div class="div1">1</div>
<script>
var sc=document.getElementsByTagName("div");
alert(sc.length)//获取长度,有多少个
</script>
getElementsByClassName():根据class属性获取元素对象们,返回值是一个数组
<div class="div1">1</div>
<div class="div1">1</div>
<script>var sc=document.getElementsByClassName("div1");
alert(sc.length)
</script>
getElementsByname():根据name属性获取元素对象,返回值是一个数组
<body>
<input type="button" name="name">
<script>
var sc=document.getElementsByName("name");
alert(sc.length)
getElementsById():根据id属性值获取元素对象,id属性值一般唯一
创建其他DOM对象
createComment():创建注释节点
createElement():创建元素节点,是在对象中创建一个对象
createTextNode():创建文本节点
createAttribute(name):创建拥有指定名称属性节点,并返回新的Attr对象
HTML Dom
标签体的设置和获取:innerHTML
innerHTML:获取到标签体内容
<div id ="div1"></div>
<script>
var div=document.getElementById("div1")
div.innerHTML;
</script>
使用HTML元素对象属性
控制元素样式
使用元素的style属性来设置
<input type="button" id="x1">
<script>
var input = document.getElementById("x1");
input.onclick=function (){input.style.width="200px";
}
</script>
提前定义类选择器的样式,通过元素的classname属性来设置class属性值
<style>.d1{width: 100px;height: 100px;border: 1px solid red;}
</style>
</head>
<body>
<input type="button" id="x1">
<script>
var input = document.getElementById("x1");
input.onclick=function (){input.className="d1";
}
Node:节点对象,其他5个的父对象
Node对象是整个DOM的主要的数据类型
特点:所有dom对象都可以被认为是一个节点
方法
CRUD dom树
appendChild():向节点的子节点列表的结尾添加新的子节点
<div id="h1">1<div id="h2">2<div id="h3"></div></div></div>
<a href="javascript:void(0);" id="name">属性</a>
<script>let elm = document.getElementById("name");
elm.onclick=function (){let h1 = document.getElementById("h1");//创建div节点let div = document.createElement("div");div.setAttribute("id","h3");h1.appendChild(h3);
}
</script>
removeChild():删除(并返回)当前节点的指定子节点
<div id="h1">1<div id="h2">2</div></div>
<a href="javascript:void(0);" id="name">属性</a>
<script>
var el = document.getElementById("name");el.onclick=function (){var h1 = document.getElementById("h1");var h2 = document.getElementById("h2");h1.removeChild(h2);}
replaveChild():用新节点替换一个子节点
属性:
parentNode:返回节点的父对象
Element
Element 对象表示 HTML 元素 Element 对象可以拥有类型为元素节点文本节点、注释节点的子节点。
创建:通过documetn获取和创建
方法:
removeAttribute():删除属性
点击a标签删除属性
<a href="" id="name">属性</a><script>//点击a标签删除href属性var elementById = document.getElementById("name");
elementById.onclick=function (){var elme = document.getElementsByTagName("a")[0];elme.removeAttribute("href");}
</script>
setAttriibutre():设置属性 设置属性案例
<input type="button" value="效果">
<input id="name" type="button" value="设置效果" >
<script>//通过document调用input的id值来设置input变改为文本框var elementById = document.getElementById("name");elementById.onclick=function (){var elme = document.getElementsByTagName("input")[0];elme.setAttribute("type","text");//设置input中的属性来更改input的属性}
</script>
修改标签体内容 属性 innerHTML
<P id="text">小样</P>
<script>var emo=document.getElementById("text")alert("改变");emo.innerHTML="小菜";
</script>
效果
获取页面标签(元素)
代码:
document.getElementById(“id值”)通过Html中的id获取元素对象
document.getElementById(“id值”)
通过所设置的id值的HTML对象可以来修改原对象的属性值
代码解释:
<body><img id="img" src="../img/mmexport1646140315201.jpg"><!-- 原图片-->
<script>var id1= document.getElementById("img");id1.src="../img/QQ截图20220302181120.png";//更换了图片
</script>
</body>
事件
功能
什么被什么执行了操作,触发的什么代码
绑定事务
直接在HTML标签上,指定事件的属性操作,属性值就是js代码
事件:onclick 单击事件
通过js获取元素对象,指定事件属性,设置一个函数
案例 头像点击更换
<script>var fa=false;
function fun(){var src1=document.getElementById("x");if (fa){src1.src="../img/x.png";fa=false;}else {src1.src="../img/y.png";fa=true;}
}
</script>
</head>
<body><img src="../img/x.png" id="x" onclick="fun()">
</body>
<br>
BOM
基本概念
Brwser Object Model 浏览器对象模型
对象
Window:窗口对象
属性
获取其他BOM对象
history:对History对象的只读引用 获取到[object History]
location:对窗口或框架的Location对象. 获取到当前页面的地址信息 http://localhost:63342/js/cn/js/
Navigator:对Navigator对象的只读引用 获取到导航器的信息 function Navigator() { [native code] }
Screen:对Screen对象的只读引用 获取到屏幕的信息 function Screen() { [native code] }
获取DOM对象
document:获取文档对象
使用格式
window.方法名(); 对象不需要创建直接使用
方法名(); window可以省用
方法
弹出框:
alert():显示带有一段消息和一个确定按钮的警告框confirm():显示带有一段消息以及确认按钮和取消按钮的对话框
确定返回true,取消返回 falsevar sc= confirm("确定退出或取消");
if (sc){document.write("进入")
}else {document.write("退出")
}propet():显示提示用户输入的对话框用户输入什么返回什么值
关闭和开启方法
close():关闭浏览器
理解:
想关闭哪个调用哪个
open():打开一个浏览器窗口
<script>var num=document.getElementById("x");var se;num.onclick=function (){//打开窗口se= open("https://www.baidu.com");}var nu1=document.getElementById("y");
nu1.onclick=function (){//关闭窗口se.close();}
定时器方法
setTimeout():指定的毫秒数后调用函数,或计算表达式 时间之后就执行某些代码,只执行一次 一次性的定时器 拥有一个返回值 唯一的标识,用于取消定时器
参数: :js代码或对象 毫秒值
clearTimeout(): 取消由setTimeout() 方法设置的 timeout 一般时间卡在一秒钟
setInterval():
按照指定的周期(以毫秒计) 来调用函数或计算表达式 循环定时器 拥有一个返回值
参数:js代码或对象 毫秒值
注意:
直接在定义是无法让代码执行循环的
setInterval(alert('xxxx'),2000);
通过对象定义的名称来调用实现循环效果
function fun(){alert('xxx')
}setInterval(fun,2000);
clearInterval():
取消由 setInterval()设置的timeout. 唯一的标识,用于取消定时器
var Interval = setIntervalt(fun,2000);clearInterval(timeout); //取消谁就调用谁
案例实现:图片切换
<script>var c=true;var p=true;//定义函数function fun(){//定义循环判断while (p){var b=document.getElementById('x');if (c){b.src="../img/x.png"c=false;p++;}else {b.src="../img/ban_2.png"c=true;p++;}if (p>3){break;}}}setInterval(fun,200);
</script>
</head>
<body>
<img src="../img/x.png" id="x" >
</body>
Navigator:浏览器对象
creen:显示器屏幕对象
History:历史记录对象
获取History对象
window.history:[object History]
history
方法
back():加载history列表中的前一个URL(前进)
forward():加载history列表中的下一个URL(后退一步)
go():加载history列表中的某个具体页面 (包括前进或者后退)
go(参数):
正数:前进几个历史记录
负数:后退几个历史记录
属性
length 返回当前窗口历史列表中的URL数量(历史记录中当前窗口使用的个数)
Location:地址栏对象
Location:对象包含有关URL的信息
地址栏对象解释: 当前浏览器窗口地址栏的信息
获取Location
可以通过windos来获取Location
windos.Location
可以直接使用
Location
方法
reload:刷新
通过Location.reload调用方法
href:设置或返回完整的URL
返回完整的URL
let href = location.href;
alert(href);
通过设置的URL,前往URL地址
<input type="button" value="哔哩哔哩" id="x">
<script>var c=document.getElementById('x');c.onclick=function (){location.href="https://www.bilibili.com";}
</script>
案例:搭配innerHTML来使用制定跳转页面
<span id="red" >5</span>秒后跳转....
</p>
<script>
//初始化值为5;
var sec=5;
function fun(){//进入函数方法每次减一sec--;//调用idlet elementById = document.getElementById("red");//修改HTML内容elementById.innerHTML=sec+"";//调用sec 修改为字符串形式if (sec<1){document.getElementById("red");location.href="http://www.baidu.com";}
}
//定义定时器
setInterval(fun, 1000);
a标签使用js代码
案例:
<a href="javascript:void(0)">使用运算符阻止返回值</a>
JavaScript Dom 事件 Bom 定时器方法相关推荐
- html鼠标离开点击停留,Javascript DOM事件操作小结(监听鼠标点击、释放,悬停、离开等)...
本文实例总结了Javascript DOM事件操作.分享给大家供大家参考,具体如下: 使用JavaScript可以对HTML页面上的各种事件进行监听,如鼠标点击/释放,鼠标悬停/离开,等等. 效果图: ...
- javascript / DOM、BOM、document、window 区别和联系
作者:Vkki 链接:https://www.zhihu.com/question/33453164/answer/56549408 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...
- javaScript DOM编程常用的方法与属性
DOM是Document Object Model文档对象模型的缩写.根据W3C DOM规范,DOM是一种与浏览器,平台,语言无关的接口,使得你可以访问页面其他的标准组件. Node接口的特性和方法 ...
- JavaScript addEventListener()事件监听方法
addEventListener()方法将事件处理程序附加到指定的元素. 您可以使用removeEventListener()方法轻松删除事件侦听器. 语法:element.addEventListe ...
- javascript DOM事件总结
1 <html> 2 <title>事件</title> 3 <meta charset="utf-8"/> 4 <body& ...
- JavaScript DOM 编程艺术 公用方法
1. load方法 function addLoadEvent(func) {var oldonload = window.onload;if (typeof window.onload != 'fu ...
- 从八道面试题看JavaScript DOM事件机制
原文:https://segmentfault.com/a/1190000013894510#articleHeader0 As we all know,事件机制其实很简单,无非冒泡和捕获 这两点,笔 ...
- javascript原生事件句柄、BOM、DOM对象属性方法总结
javascript原生事件句柄.BOM.DOM对象属性方法总结 JS事件句柄 事件句柄 类型 说明 onabort 事件句柄 图像加载被中断 onblur 事件句柄 元素失去焦点 onfocus 事 ...
- 『前端学习笔记』 JavaScript 事件与对象、DOM与BOM
参考视频:[极客学院]Web前端开发教学 - 第一部分:H5+CSS+JS 参考文档:JavaScript 教程 W3school 文章目录 DOM对象 HTML DOM 操作HTML 操作CSS E ...
最新文章
- Visual Studio 20年
- 带评分的Jupyter资源列表:270个开源项目,总计24w星,帮你快速找代码
- 两个构件的重合点_初三物理易错点:你被眼睛欺骗了,那些『平面镜成像』中的困惑...
- linux配置usb主从_一种Linux下USB设备主从切换的实现
- C++ 包含目录、库目录、附加依赖项详解
- 安装与配置-以前的某个程序安装已在安装计算机上创建挂起的文件操作......
- 第八十六期:“程序员锁死服务器导致公司倒闭”案正式开庭审理
- 【HDOJ】4363 Draw and paint
- Stanford CS230深度学习(三)调参、正则化和优化算法
- 快速向表中插入大量数据Oracle中append与Nologgin的作用
- 拆解兼容Qi充电标准的三星无线充电器
- 评价的等级优良差_老师问:小学考试用优良等级评价,可取吗?
- 5G无线关键技术 — 低时延高可靠物联网设计
- 如何批量下载网站中的超链接(一次性下载网页中所有可能的PDF文件)
- 用sqlyog打开.sql文件
- 新技术预研Android
- python 课程设计题目_数据分析师能力培养:业务与技术的完美结合
- java编译器 jit_JIT编译器
- PEANUT-WF模块开发-Peanut.Common
- 读书笔记写法--怎么做读书笔记
热门文章
- 搜索新风口与营销新变量
- 如何修改matlab系统语言,如何对matlab2013b进行语言修改成中文
- Java程序员高效学习的六个中肯建议
- 搜索官方的一篇相关性文章分享
- MySQL查询不同年份母亲节_历年母亲节谷歌doodle有什么不同 google母亲节logo变化史...
- Python发送网易邮件554错误解决
- mysql concat 不同字符集_字符编码 - 如何将整个MySQL数据库字符集和排序规则转换为UTF-8?...
- 2012意大利之行2:梵蒂冈圣彼得大教堂
- zabbix监控第一台服务器
- web课程设计网页规划与设计:文化网站设计——中国水墨风书画艺术网站(12个页面)