发表于: 2017-07-15 20:18:12
1 824
今天完成的事情:
1.重点学习了DOM操作,选择性的看完了《JS DOM编程艺术》
2.初步了解了状态机的概念
明天计划的事情:
学习Jquery
遇到的问题:
关于状态机,感觉更多的是一种思维方式。网上查了许多介绍状态机的,不是许多语法看不懂就是运用了Jquery编写,目前了解的就是本质上讲状态机由两部分组成:状态和转换器。它只有一个活动状态,但也包含很多非活动状态(passive state)。当活动状态之间相互切换时就会调用状态转换器。状态机如何工作呢?考虑这样一个场景,应用中存在一些视图,它们的显示是相互独立的,比如一个视图用来显示联系人,另一个视图用来编辑联系人。这两个视图一定是互斥的关系,其中一个显示时另一个一定是隐藏的。这个场景就非常适合引入状态机,因为它能确保每个时刻只有一种视图是激活的。
收获:
关于DOM,是文档对象模型。就不扯它的发展历史之类的没营养的东西了,以下是学到的DOM方法:
DOM有三种方式获取元素:
通过ID获取 getElementById
通过标签名 getElementsByTagName
通过类名 getElementsByClassName
需要说明的是通常选用第一种方法,并且后两种方法返回的是一个对象数组
获取属性:getAttribute()方法
修改属性:setAAttribute()方法
childNodes属性,用来获取任何一个元素的所有子元素,它是一个包含这个元素全部子元素的数组。
nodeType属性,需要记忆的是元素节点的属性值为1;属性节点的为2;文本节点的为3;
nodeValue属性,用于设置和得到一个节点的值
改变网页结构和内容:
传统方法:1.document.write 一般不使用此方法
2.innerHTML属性,这个是比较常用的
DOM方法:1.creatElement方法,创建元素节点
2.appendChild方法,将创建的新节点插入节点树中
3.creatTextNode方法,创建文本节点
4.inserBefore方法,在已有元素之前插入新元素
这里特别要说一下innerHTML属性和nodevalue方法的区别,从使用来看,innerHTML要比nodeValue好用得多,但是,innerHTML属性属于HTML专有属性,不能用于其他标记语言。而nodeValue则是DOM的方法,可以用于一切使用DOM的语言。
评论