JS高级学习历程-1
JS高级-34-昨天内容回顾 时间:2015-5-11
1、DOM获取元素节点
document.getElenmentById(id 属性值) 具体元素节点对象
document.getElenmentsByTagName(tag 标签名称 div ul li) 数组列表
document.getElenmentsByName(Name 属性值) 数组列表
2、DOM获取属性节点及属性操作
node.attributes; 数组列表
node.attributes.属性名称; 获取具体属性节点对象
node.attribute['class'] 获得 class 属性节点
属性操作
操作w3c规定的属性
node.属性名称; 获得属性信息
node.属性名称=属性值; 修改属性信息
操作 class属性,需要将其设置为className名称。
node.className;
操作w3c规定的 和 自定义的 属性
node.getAttribute(属性名称);
node.setAttribute(名称,值)
3、DOM获得文本节点
<div>hello</div>
divnode.firstChild; 获得文本节点
nodeType:
1 -> 元素节点
2 -> 属性节点
3 -> 文本节点
4 -> document文档节点
lastChild; childNodes nextSibling previousSibling parentNode
4、DOM各个节点创建、追加
创建:
元素节点 document.createElement(tag 标签名称)
文本节点 document.createTextNode(文本内容)
属性 node.setAttribute(属性名称,值)
追加
父节点.appendChild(子节点);
父节点.insertBeFore(new,old);
父节点.replaceChild(new,old);
5、DOM节点删除和复制
删除:
父节点.removeChild(子节点)
复制:
节点.cloneNode(true 深层复制/false浅层复制);
6、DOM操作css样式
node.style.样式名称; //获得样式属性信息
node.style.样式名称=值; //设置样式属性信息
注意:
① 自能操作行内样式
② 操作符合属性(例如:background-color、border-left、margin-bottom),中横线去掉后边首字母大写,backgroundColor、borderLeft、marginBottom
7、dom2 级方式事件设置
主流浏览器
node.addEventListener(类型、事件处理、事件流)
node.removeEventListener(类型、事件处理、事件流)
类型:click mouseover mouseout focus blur 等事件
事件处理:匿名函数表达式、函数名称
事件取消注意:
① 事件取消的参数 与 绑定的参数完全一致
② 事件处理必须是一个有名函数
IE 浏览器
node.attachEvent(类型,事件处理);
node.detachEvent(类型,事件处理);
类型:onclick onmouseover onmouseout 等等
事件流:只有一种冒泡型事件流
8、事件流
有许多节点,他们的物理位置彼此嵌套,他们还有相同的事件,一旦一个节点的事件被触发,会把其他节点的相同时间也给触发,连续多个事件同时顺序执行就是一个“事件流”。
9、事件对象获取及相关作用
事件对象获取:
① 主流浏览器 node.onclick = function(evt){ 操作 evt }
② IE方式 windows.event;
事件对象作用:
① 获得鼠标位置(clientX clientY pageX pageY screenX screenY)
② 获得键盘被按下的情况 event.keyCode
③ 阻止事件流的产生
event.stopPropagation(); 主流浏览器
event.returnValue = false; IE浏览器
10、加载事件
相关的js代码要等待全部的 html 和 css 都加载到内存之后再执行,这个过程称为“加载过程”,可以利用“加载事件”执行该过程
window.onload = function(){ 执行具体加载过程 }
window.onload = fn;
JS高级学习历程-1的更多相关文章
- JS高级学习历程-6
PHP菜鸟学习历程-6 [闭包案例] 1 闭包创建数组 <!DOCTYPE html> <html lang="en"> <head> < ...
- JS高级学习历程-15
昨天内容回顾 面向对象的私有成员.静态成员 私有成员:在构造函数里边定义局部变量,就是私有成员. 静态成员:在js里边,函数就是对象,可以通过给函数对象声明成员方式声明静态成员. 原型继承 关键字:p ...
- JS高级学习历程-14
昨天内容回顾 1. 面向对象的私有成员.静态成员 私有成员:在构造函数里边定义局部变量,就是私有成员. 静态成员:在js里边,函数就是对象,可以通过给函数对象声明成员方式声明静态成员. 2. 原型继承 ...
- JS高级学习历程-11
[继承] 在php,一个类去继承另一个类,本类实例化出来的对象,既可以调用本身类的成员,也可以调用父类的成员. 在javascript继承主要通过原型实现,构造函数继承一个对象,构造函数的实例会拥有被 ...
- JS高级学习历程-10
[面向对象] 面向对象的三大特性:封装.继承.多态 封装:在“类”里边有关键字public.protected.private 对成员进行声明,这样每个成员的访问都会受到不同关键字的限制. 继承:在p ...
- JS高级学习历程-5
[闭包] 定义:闭包就是一个函数 条件:一个函数去嵌套另外一个函数,里边的函数就是闭包 function f1(){ function f2(){ } } 特点:闭包函数有权访问父级环境的变量信息.
- JS高级学习历程-3
JS-作用域链及作用 [作用域链] 1 什么事作用域链 一个变量,在当前环境可以使用,当前环境的内部环境也可以使用,内部的深层环境...也可以使用,变量在不同环境都可以使用的现象想成了一个链条,称为“ ...
- JS高级学习历程-17
[正则案例] 1 匹配手机号码
- JS高级学习历程-16
[正则表达式] 1()小括号使用 作用:① 提高表达式优先级关系 ② 提取子字符串内容 模式单元,每个小括号都算作一个模式单元内容,按照内容的下标可以给小括号计数. var reg = /([0-9 ...
随机推荐
- github 版本控制 android studio
注:本教程实验于android studio 3.1.2 1.下载git :https://gitforwindows.org/ 安装 git. 2.配置git 3.配置github 4.上传项目 ...
- java之EJB
EjB,只是一个服务端运行组件,公开接口供客户端以C/S方式调用而已. 最直白,最本质的解释,可参见: http://blog.csdn.net/jojo52013145/article/detail ...
- buntu下命令行安装jdk,android-studio,及genymotion虚拟机来进行android开发【转】
本文转载自:http://www.cnblogs.com/iamhenanese/p/5491862.html 安装JDK 从oracle官网下最新版的linux64位的jdk包(现在最新为jdk-8 ...
- Codeforces696 Round #362 (Div. 1)(vp) A~D题解
很久没有打比赛了,内部模拟赛天天垫底,第一次vp之旅又是和**一样,这样下去GDOI之后直接退役算了 整场都在忘开LL A. Lorenzo Von Matterhorn 这个题一看我就想直接虚树+树 ...
- iOS 键盘遮挡输入框万能解决方案(多个输入框)
效果图如下: 思路分析: 代码: 知识点: 问题: 效果图如下: 思路分析: 当我们有很多输入框时,有时候键盘弹出来会遮挡着输入框.我们需要获取输入框和键盘相对于最外层视图的位置来判断是否遮挡,如果遮 ...
- CTSC2012 熟悉的文章
传送门 首先很容易想到对于所有的模式串建出广义后缀自动机,之后对于我们每一个要检查的文本串,先在SAM上跑,计算出来每一个位置能匹配到的最远的位置是多少.(就是当前点减去匹配长度) 之后--考虑DP- ...
- javascript之闭包,递归,深拷贝
闭包 理解:a函数执行后return出b函数且b函数可以访问a函数的数据 好处:子函数存储在复函数内部,子函数执行完不会被自动销毁 坏处:占用内存比较大 ex: function bibao(){ v ...
- VC解析XML--使用CMarkup类解析XML
经过今天尝试MFC解析XML串,也算有了不少收获,总结一下. 我是使用的CMarkup类对XML进行操作. CMarkup好象都是先从一个xml文件里 ...
- 洛谷 1082 同余方程——exgcd(水题)
题目:https://www.luogu.org/problemnew/show/P1082 大水题. #include<iostream> #include<cstdio> ...
- 小程序wx:key中的关键字*this
“保留关键字 *this 代表在 for 循环中的 item 本身,这种表示需要 item 本身是一个唯一的字符串或者数字,如果是对象则不可以 data:{ array:[1,2,3,4,5], ob ...