JavaScript的对象
一、BOM对象
BOM----browser object model
1、window对象
所有浏览器都支持window对象。
概念上讲,一个html文档对应一个window对象。
功能上讲:控制浏览器窗口的。
使用上讲:window对象不需要创建对象,直接使用即可。
2、widow对象方法
alert() 显示带有一段信息和一个确认按钮的警告框
confirm() 显示带有一段消息以及确认按钮和取消按钮的对话框。
prompt() 显示可提示用户输入的对话框 open() 打开一个新的浏览器窗口或查找一个已命名的窗口。
close() 关闭浏览器窗口 setInterval() 按照指定的周期(以毫秒计)来调用函数或计算表达式。
clearInterval() 取消由 setInterval()设置的timeout。
3、 方法使用
3.1
1、//alert //显示带有一段消息和一个确认按钮的警告框
window.alert("hello"); //confirm() // 有一个返回值 确认是true 取消是false
var ret= window.confirm("num");
console.log(ret) // prompt() 有一个返回值 具体的一个值 显示可提示用户输入的对话框
var ret1=window.prompt(100);
// console.log(ret1) //open()函数 打开新的网页
// open("http://www.baidu.com","new","height=200,width=200,resizable=no")
3.2 setInterval ,clearInterval
setInterval()方法会不停地调用函数,直到clearInterval()被调用或窗口被关闭。由setInterval()返回的ID值可用作clearInterval()方法的参数。
语法:<br> setInterval(code,millisec)
其中,code为要调用的函数或要执行的代码串。millisec周期性执行或调用 code 之间的时间间隔,以毫秒计。
function foo() {
// console.log("ok")
// }
// setInterval(foo,5000); //隔5分钟再执行foo
示例:
<!--<input type="text" id="timer" onfocus="start()" > -->触发事件
<!--<button onclick="stop()">end</button>--> 获取光标事件 <script> var ID;
function start() { if(ID==undefined){
bar();
ID=setInterval(bar,1000)
}
} function bar() {
var s_time=new Date(); //获取当前时间
var times=s_time.toLocaleString(); //转换时间格式 var ret=document.getElementById("timer"); //根据属性找对象
ret.value=times; //然后对其value赋值
console.log(ret) }
function stop() {
clearInterval(ID);
ID==undefined;
} </script>
二、DOM对象
2.1 什么是HTML DOM
HTML Document Object Model(文档对象模型)
HTML DOM定义了访问和操作HTML文档的标准方法
HTML DOM把HTML 文档呈现现为带有元素、属性和文本的数结构(节点树)
2.2 DOM树
画dom树是为了展示文档中各个对象之间的关系,用于对象的导航。
2.3 DOM节点
2.3.1 节点类型
HTML 文档中的每个成分都是一个节点。
DOM 是这样规定的:
整个文档是一个文档节点
每个 HTML 标签是一个元素节点
包含在 HTML 元素中的文本是文本节点
每一个 HTML 属性是一个属性节点
其中,document与element节点是重点。
2.3.2 节点关系
节点树中的节点彼此拥有层级关系。
父(parent),子(child)和同胞(sibling)等术语用于描述这些关系。父节点拥有子节点。同级的子节点被称为同胞(兄弟或姐妹)。
在节点树中,顶端节点被称为根(root)
每个节点都有父节点、除了根(它没有父节点)
一个节点可拥有任意数量的子
同胞是拥有相同父节点的节点
下面的图片展示了节点树的一部分,以及节点之间的关系:
访问 HTML 元素(节点),访问 HTML 元素等同于访问节点,我们能够以不同的方式来访问 HTML 元素。
2.3.3 节点查找
直接查找节点 (全局查找)
document.getElementById(“idname”)
document.getElementsByTagName(“tagname”)
document.getElementsByName(“name”)
document.getElementsByClassName(“name”)
2.3.4 导航节点属性
''' parentElement // 父节点标签元素 children // 所有子标签 firstElementChild // 第一个子标签元素 lastElementChild // 最后一个子标签元素 nextElementtSibling // 下一个兄弟标签元素 previousElementSibling // 上一个兄弟标签元素 '''
2.4 节点操作
2.4.1 创建节点:
createElement(标签名):创建一个指定名称的元素。
例如:// var tag=document.activeElement("input");
// tag.setAttribute("type","text");
2.4.2 添加节点:
追加一个子节点(作为最后的子节点)父节点添加子节点才能调用append
somenode.appendChild(newnode) 把增加的节点放到某个节点的前边
somenode.insertBefore(newnode,某个节点);
2.4.3 替换节点:
somenode.replaceChild(newnode, 某个节点);
<body> <h1>111</h1>
<p>111</p>
<div class="img"></div>
<button onclick="foo()">add</button>
<button onclick="bar()">del</button> <script> function bar() {
var con=document.getElementsByClassName("img")[0];
ele_h1=con.getElementsByTagName("h1")[0];
con.removeChild(ele_h1);
} function foo() {
//创建标签对象
var ele=document.createElement("img"); //创建一个节点
//为标签赋值属性
// ele.setAttribute("src","top.jpg"); //原生态
ele.src="top.jpg"; //DHTML 动态 推荐
console.log(ele);
//父标签添加子标签
var con=document.getElementsByClassName("img")[0]; //
con.appendChild(ele);
} </script>
</body>
2.5 节点属性操作
1、 获取文本节点的值:innerText innerHTML(里面有标签页会给获取出来)
2、 attribute操作
elementNode.setAttribute(name,value) elementNode.getAttribute(属性名) <-------------->elementNode.属性名(DHTML) elementNode.removeAttribute(“属性名”);
修改标签属性:
3、 value获取当前选中的value值
1.input
2.select (selectedIndex)
3.textarea
4、
innerHTML给节点添加html代码
该方法不是完w3c的标准,但是主浏览器支持
tag.innerHTML=“<p>要显示内容<p>”;
5、关于class的操作;
elementNode.className
elementNode.classList.add
elementNode.classList.remove
6、改变css样式:
<p id="p2">Hello
world!</p>
document.getElementById("p2").style.color="blue";
.style.fontSize=48px
三、 DOM Event(事件)
3.1 事件类型
onclick 当用户点击某个对象时调用的事件句柄。
ondblclick 当用户双击某个对象时调用的事件句柄。 onfocus 元素获得焦点。 练习:输入框
onblur 元素失去焦点。 应用场景:用于表单验证,用户离开某个输入框时,代表已经输入完了,我们可以对它进行验证.
onchange 域的内容被改变。 应用场景:通常用于表单元素,当元素内容被改变时触发.(三级联动)
3.2 绑定事件方式
方式1:
<div id="div" onclick="foo(this)">点我呀</div> <script>
function foo(self){ // 形参不能是this;
console.log("点你大爷!");
console.log(self);
}
</script> 方式2:
<p id="abc">试一试!</p> <script> var ele=document.getElementById("abc"); ele.onclick=function(){
console.log("ok");
console.log(this); // this直接用
}; </script>
JavaScript的对象/下的更多相关文章
-
从零构建JavaScript的对象系统
一.正统的类与继承 类是对象的定义,而对象是类的实例(Instance).类不可直接使用,要想使用就必须在内存上生成该类的副本,这个副本就是对象. 以Java为例: public class Grou ...
-
JavaScript RegExp 对象
JavaScript RegExp 对象 RegExp 对象用于规定在文本中检索的内容. 什么是 RegExp? RegExp 是正则表达式的缩写. 当您检索某个文本时,可以使用一种模式来描述要检索的 ...
-
JavaScript Math 对象
JavaScript Math 对象 Math 对象 Math 对象用于执行数学任务. Math 对象并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math(). 语法 var ...
-
关于JavaScript中对象的继承实现的学习总结
一.原型链 JavaScript 中原型链是实现继承的主要方法.其主要的思想是利用原型让一个引用类型继承另一个引用类型的属性和方法.实现原型链有一种基本模式,其代码如下. function Super ...
-
JavaScript BOM对象介绍
bom:即broswer object model(浏览器对象模型),由五个对象组成: Window:对象表示浏览器中打开的窗口 最顶层对象. Navigator :浏览器对 ...
-
javascript中对象的深度克隆
记录一个常见的面试题,javascript中对象的深度克隆,转载自:http://www.2cto.com/kf/201409/332955.html 今天就聊一下一个常见的笔试.面试题,js中对象的 ...
-
JavaScript日期对象使用总结
javascript Date日期对象的创建 创建一个日期对象: var objDate=new Date([arguments list]); 我总结了参数形式主要有以下3种: new Date(& ...
-
JavaScript 本地对象、内置对象、宿主对象
首先解释下宿主环境:一般宿主环境由外壳程序创建与维护,只要能提供js引擎执行的环境都可称之为外壳程序.如:web浏览器,一些桌面应用系统等.即由web浏览器或是这些桌面应用系统早就的环境即宿主环境. ...
-
预载入和JavaScript Image()对象
预载入和JavaScript Image()对象 很多high-res图像真的可以使 Web 站点更加整洁.但是它们也会使站点的访问速度变慢——图像是文件,文件使用带宽,带宽直接与等待时间相关.是该了 ...
随机推荐
-
JavaScript高级编程 (2) - HTML 与 JavaScript
向HTML 页面中插入JavaScript 的主要方法,就是使用<script>元素.这个元素由Netscape 创造并在Netscape Navigator 2 中首先实现.后来,这个元 ...
-
Java语言程序设计(基础篇) 第五章 循环
第五章 循环 5.2 while循环 1.while循环的语法如下: while(循环继续条件){ //循环体 语句(组); } 2.程序:提示用户为两个个位数相加的问题给出答案 package co ...
-
Cadence16.6安装破解
1.软件安装 1.运行stepup.exe.出现下面界面后开始安装License manager和project installation. 注意:只安装第一项License manager和第二项p ...
-
Regional Changchun Online--Travel(最小生成树&;&; 并查集)
Travel Time Limit: 1500/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total S ...
-
GMT-Note 基本参数详细说明
http://blog.sciencenet.cn/blog-381041-897592.html 控制经纬度标示中是否带N或者W PLOT_DEGREE_FORMAT = ddd:mm:ss ...
-
XML语法规范
1: 怎样声明一个xml文件 答:由2部分组成 声明部分,声明xml的版本号与编码(版本号仅仅有1.0) <? xml version="1.0" encoding=&quo ...
-
Combo模糊匹配中文问题
茗洋Easy UI 1.3.2 部分问题解决系列专题[Combo模糊匹配中文问题 修复] 本次给大家带来的EasyUI的我研究拓展的新特性 我使用的是 EasyUI 1.3.2版本的,项目是ASP. ...
-
Maven打包时去掉项目版本号
Maven打包后,jar或war文件名里带有版本号信息,如projectname0.0.1-SNAPSHOT.jar等,怎么去掉呢? 解决办法: 打开项目pom.xml文件,在<build> ...
-
通过freemarker生成一个word,解决生成的word用wps打开有问题的问题,解决出word时中文文件名乱码问题,解决打开出word时打开的word出现问题的问题,出图片,解决动态列表
通过freemarker制作word比较简单 步骤:制作word模板.制作方式是:将模板word保存成为xml----在xml的word模板中添加相应的标记----将xml的word文件的后缀名 ...
-
【持续跟新】剑指Offer_Java实现
[第一题 ]二维数组中的查找 package sword_finger_offer; import org.junit.jupiter.api.Test; /** * 剑指offer习题一 二维数组中 ...