发表于: 2017-07-15 20:18:12

1 823


今天完成的事情:

1.重点学习了DOM操作,选择性的看完了《JS DOM编程艺术》

2.初步了解了状态机的概念
明天计划的事情:

学习Jquery
遇到的问题:

  关于状态机,感觉更多的是一种思维方式。网上查了许多介绍状态机的,不是许多语法看不懂就是运用了Jquery编写,目前了解的就是本质上讲状态机由两部分组成:状态和转换器。它只有一个活动状态,但也包含很多非活动状态(passive state)。当活动状态之间相互切换时就会调用状态转换器。状态机如何工作呢?考虑这样一个场景,应用中存在一些视图,它们的显示是相互独立的,比如一个视图用来显示联系人,另一个视图用来编辑联系人。这两个视图一定是互斥的关系,其中一个显示时另一个一定是隐藏的。这个场景就非常适合引入状态机,因为它能确保每个时刻只有一种视图是激活的。

  打算学完jquery以及不同的地方this到底指的是什么的知识后学师兄用状态机编写红绿灯的代码

收获:

  关于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的语言。


返回列表 返回列表
评论

    分享到