09-JavaScript高级
今日知识
1. Dom(文档对象模型)
2. Bom(浏览器对象模型)
3. 总结
Dom
1. 获取id为div1的元素对象。
* var result=document.getElementById("div1");
//获取元素内容
var x=result.innerHTML;
2. 通过标签名称查找HTML元素
* var result=document.getElementByTagName("p");
* 有多个P标签时,返回的数组形式
3. 通过类名查找Html元素
* var result=document.getElementByClassName("类名称");
* 有多个类名称相同标签时,返回的数组形式
4. 改变元素属性:var result=document.getElementById("div1");
* result.setAttribute("属性名","新的属性值");
* 或者 result.属性名="新的属性值";
5. 修改css元素
* 元素对象.style.属性=新的值;
6. DOM事件
1. 鼠标事件
1. onclick 当用户点击某个对象时调用的事件句柄。
2. ondblclick 当用户双击某个对象时调用的事件句柄。
3. onmousedown 鼠标按钮被按下。
* 定义方法时,定义一个形参,接受event对象。
* event对象中的button属性可以获取那个鼠标被点击了
4. onmousemove 鼠标被移动。 //和下面类似
5. onmouseover 鼠标移到某元素之上。
6. onmouseout 鼠标从某元素移开。
7. onmouseup 鼠标按键被松开。
//tr颜色改变,this代表当前触发的对象
var tr = document.getElementsByTagName("tr");
for (var i=0;i<tr.length;i++){
tr[i].onmouseover = function () {
this.style.background="#00ff00";
}
tr[i].onmouseout = function () {
this.style.background="#ffffff";
// alert(22)
}
}
2. 框架和对象事件Object
onload 一张页面或一幅图像完成加载。
3. 表单事件
1. onblur 元素失去焦点
2. onfocus 元素获得焦点。
3. onsubmit 确认按钮被点击。 //如果返回false,表单不会被提交
4. onselect 文本被选中。( <input> 和 <textarea>)
5. onchange 域的内容被改变。 ( <input>, <select>, 和 <textarea>)
4. 键盘事件
1. onkeydown 某个键盘按键被按下。
2. onkeypress 某个键盘按键被按下并松开。
3. onkeyup 某个键盘按键被松开。
* <p id="p1">
这是一段文字。。。。。
</p>
<button onclick="change()">点我改变文本属性</button>
<script>
function change() {
document.getElementById("p1").innerHTML="click事件触发,调用函数改变该方法";
}
</script>
7. DOM节点(动态添加和删除HTML元素)
* //获取对象元素
var p=document.getElementById("div1");
//获取要移除的对象
var box=document.getElementById("con");
var box=document.createElement("div");
p.removeChild(box);
//类似剪切到目标节点上
p.appendChild(box);
p.parentNode//获取p的父节点对象
p.childNode//获取p的子节点
p.childNodes//获取p的所有子节点
1. 文本节点(没有任何标签修饰)
* 文本节点的nodeName:永远是#text
* nodeValue是属性包含的文本
* nodeType=3
2. 属性节点(style等等)
* 文本节点的nodeName:是属性名称
* nodeValue是属性包含的属性值
* nodeType=2
3. 元素节点(各种标签)
* 文本节点的nodeName:是标签名称
* nodeValue是不可用
* nodeType=1
* 注意:对 firstChild 最普遍的用法是访问某个元素的文本: childNode.firstChild.nodeValue
4. 文档节点
* 文本节点的nodeName:永远是#document
* nodeValue是不可用
* nodeType=9
* 节点的克隆
//用克隆的为方法
var clone=game.cloneNode(true);//那么 会克隆源节点的所有节点
bj.parentNode.replaceChild(clone,bj);
BOM
1. Window:浏览器窗口对象
* window是一个全局对象,不需要创建(调用下面方法window可以不写,直接用)
* var width=window.innerWidth;
var heigth=window.innerHeight;
document.write("浏览器的宽度:"+width+",浏览器 的高度"+heigth);
* window.open("http://ww.baidu.com") - 打开新窗口 ,返回一个新的window对象
* window.close() - 关闭当前窗口
* 谁调用我 ,我关谁,可以把新创建的窗口对象用一个变量接收,该变量调用close()方法即可关闭,新打开的页面
* window.moveTo() - 移动当前窗口
* window.resizeTo() - 调整当前窗口的尺寸
* window.confirm("sometext");
当你点击 "确认", 确认框返回 true, 如果点击 "取消", 确认框返回 false。
window.confirm() 方法可以不带上window对象,直接使用confirm()方法。
* window.prompt("sometext","defaultvalue");
如果用户点击确认,那么返回值为输入的值。如果用户点击取消,那么返回值为 null。用一个变量来接收你输入的值。
1.1 定时器
1. setTimeout() :在指定时间后调用该方法,只调用一
* 参数:js代码或者方法对象,第二个参数是毫秒值
clearTimeout(需要定时器的返回值) 取消由 setTimeout() 方法设置的 timeout。
* 返回值:返回一个唯一标识,用于取消定时器
2. setInterval():参数和上面一样,按指定时间一直调用
clearInterval() 取消由 setInterval() 设置的 timeout。
2. Screen:屏幕对象
1. var width=screen.availWidth();//获取屏幕的可用宽
2. var height=screen.availHeight();//获取屏幕的可用高
3. Locaton:位置对象
1. location.href="http://www.cskaoyan.com";//重定向到其他yemian
2. location.reload();//重新加载当前页面
3. host 返回一个URL的主机名和端口
4. hostname 返回URL的主机名
5. href 返回完整的URL //不赋值的话,可以直接获取当前的url,赋值的话代表将要跳转的地址
4. History:历史记录对象(onclicks属性中用)
1. back() 加载 history 列表中的前一个 URL
2. forward() 加载 history 列表中的下一个 URL
3. go() 加载 history 列表中的某个具体页面
5. Navigator:浏览器对象
1. appCodeName 返回浏览器的代码名
2. appName 返回浏览器的名称
3. appVersion 返回浏览器的平台和版本信息
4. cookieEnabled 返回指明浏览器中是否启用 cookie 的布尔值
5. platform 返回运行浏览器的操作系统平台
6. userAgent 返回由客户机发送服务器的user-agent 头部的值
09-JavaScript高级的更多相关文章
- javascript高级特性
01_javascript相关内容02_函数_Arguments对象03_函数_变量的作用域04_函数_特殊函数05_闭包_作用域链&闭包06_闭包_循环中的闭包07_对象_定义普通对象08_ ...
- javascript高级特性(面向对象)
javascript高级特性(面向对象): * 面向对象: * 面向对象和面向过程的区别: * 面向对象:人就是对象,年龄\性别就是属性,出生\上学\结婚就是方法. * 面向过程:人出生.上学.工作. ...
- 读书时间《JavaScript高级程序设计》一:基础篇
第一次看了<JavaScript高级程序设计>第二版,那时见到手上的书,第一感觉真是好厚的一本书啊.现在再次回顾一下,看的是<JavaScript高级程序设计>第三版,并记录一 ...
- javascript高级实战学习
学习目标: - 理解面向对象开发思想 - 掌握 JavaScript 面向对象开发相关模式 - 掌握在 JavaScript 中使用正则表达式 - typora-copy-images-to medi ...
- javaScript高级含Es6
JavaScript高级第01天笔记 1.面向过程与面向对象 1.1面向过程 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候再一个一个的依次调用就可以了. 1.2 ...
- 《JavaScript高级程序设计(第3版)》笔记-序
很少看书,不喜欢看书,主要是上学时总坐不住,没有多大定性,一本书可以两天看完,随便翻翻,也可以丢在角落里几个月不去动一下. 上次碰到了<JavaScript高级程序设计(第3版)>感觉真的 ...
- 《JavaScript高级程序设计(第3版)》阅读总结记录第一章之JavaScript简介
前言: 为什么会想到把<JavaScript 高级程序设计(第 3 版)>总结记录呢,之前写过一篇博客,研究的轮播效果,后来又去看了<JavaScript 高级程序设计(第3版)&g ...
- 【javascript学习——《javascript高级程序设计》笔记】DOM操作
DOM(文档对象模型)是针对HTML和XML文档的一个API(应用程序编程接口).DOM描绘了一个层次节点树,允许开发人员添加.移除和修改. 1.节点层次 <html> <head& ...
- 读javascript高级程序设计00-目录
javascript高级编程读书笔记系列,也是本砖头书.感觉js是一种很好上手的语言,不过本书细细读来发现了很多之前不了解的细节,受益良多.<br/>本笔记是为了方便日后查阅,仅作学习交流 ...
- 《JavaScript高级程序设计》读书笔记--前言
起因 web编程过程使用javascript时感觉很吃力,效率很低.根本原因在于对javascript整个知识体系不熟,看来需要找些书脑补一下,同时欢迎众网友监督. 大神推荐书籍 看了博客大神们推荐的 ...
随机推荐
- 视频及MP3 播放浅析 Jplayer参数详细
初识jplayer插件是因为它的兼容性是最好的,可以兼容到IE6,官网上对它兼容性有很详细的说明 这个是我选择使用它的首要原因. 现在从需求上来了解它的使用方法吧.第一个需求:MP3格式的音频在网页播 ...
- 学习Spider 了解 Scrapy的流程
Scrapy 先创建项目 在windows下 scrapy startproject myproject #myproject是你的项目名称 cd 项目名称 scrapy g ...
- Python之数据结构改造
{ "appList":[ { "id" : 120, "name" : "BIGDATA", "alias& ...
- Django1.11配合uni-app发起微信支付!
Django1.11配合uni-app发起微信支付! 经过三天的断断续续的奋战,我终于是干动了微信支付.为了以后不忘记,现在来一篇教程,来来来,开干!!! 一.准备阶段 1.准备阶段我们需要去微信官网 ...
- css实现多行文字限制显示&编译失效解决方案
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name ...
- router-link-active 与 router-link-exact-active 区别
我的github:swarz,欢迎给老弟我++星星 router-link-exact-active 是精确匹配规则,即只有当前点击router被匹配 router-link-active 默认是全包 ...
- 算法工程师首先是工程师系列01 - 服务器篇 - 物理服务器安装centos7
尤其在互联网公司中,如果不是分工特别明确的独立业务组,通常需要自己处理很多东西,例如一个算法工程师,虽然不要求你装机,但是和负责部署服务的同事对接口,总不能连json是啥都不知道(工作中遇到过一个ET ...
- java链接linux服务器,命令操作
1.本地读取linux文件,即在Windows上链接外部linux package com.common.utils; import java.io.BufferedReader; import ja ...
- CSS学习笔记之框模型
1.概述 为了更好的处理 元素内容.内边距.边框 和 外边距 之间的关系,CSS 定义了框模型如下: 内边距.边框 和 外边距 的默认值都是零,可以通过设置元素的 padding.border 和 m ...
- python爬虫05 | 年轻人,不会正则表达式你睡得着觉?有点出息没有?
现在 你已经会使用 python 模拟浏览器 进行一些 Http 的请求了 那么请求完之后 服务器返回给我们一堆源代码 我们可不是啥都要的啊 我们是有原则的 我们想要的东西 怎么能一股脑的啥都往自己兜 ...