dom编程学习笔记

发布 2021-05-02 07:17:28 阅读 1393

一、dom编程。

a)基本概念。

dom(document object model)文档对象模型。

其实就是将一些标记型的文档以及文档中的内容当成对象。为什么要将这些文档以及其中的标签封装成对象呢?

因为可以在对象中定义其属性和行为,可以方便操作这些对象。b) dom在封装标记型文档时,有三层模型:

dom1:针对html文档dom2:针对xhtml文档dmo3:针对xhml文档。

c) html,xhtml,xml:这些都是标记型文档。

dhtml:是多个技术的综合体。叫做动态的html。html:负责将数据进行标签的封装。css:负责标签的样式。

dom:负责将标签以及标签中的数据封装成对象。

j**ascript:负责通过程序设计方式来操作这些对象。

d)标签之间存在这层次关系:

window

--documenthtml

-input|--select|--span|--a|--table

--tbody|--tr|--td|--th|--dl|--dt|--dd

通过这个标签层次,可以形象的看做是一个属性结构。那么也称标记型文档,加载进内存的是一颗dom树。

这些标签以及标签中的数据都是这棵树上的节点。(一个节点可能有很多子节点,但只能有一个父节点)

当标记型文档加载进内存,那么内存中就有了一个对应的dom树。dom对于标记型文档的解析有一个弊端就是文档过大,相对消耗资源。对于大型文档可以使用sax这种方式解析。

e)节点类型:

标签型节点:类型:1属性节点:类型:2文本型节点:类型:3注释型节点:类型:8document:类型:9

注意:标签之间存在空行时,会出现一个空白的文本节点,在获取节点时一定要注意。节点的关系:

父节点:parentnode

子节点:childnodes:直接子节点。返回的是一个节点对象数组。兄弟节点:

上一个兄弟节点:previoussibling下一个兄弟节点:nextsibling

获取节点可以通过节点的层次关系完成,也可以通过document对象完成。

getelementbyid:通过id属性值获取对应的节点对象。如果有多个id值相同。获取的是第一个id所属对象。尽量保证id唯一性。返回的是一个对象。

getelementsbyname:通过标签的name属性值获取对象。返回的一堆对象。其实是一个对象数组。

getelementsbytagname。既没有id也没有name时,可以通过标签名来获取节点对象。返回的是一堆对象。

其实是一个对象数组。大多数容器型标签都具备该方法。利用节点关系访问html元素的属性和方法总结如下:

node parentnode:返回当前节点的父节点。

node previoussibling:返回当前节点的前一个兄弟节点。node netxsibling:

返回当前节点的后一个兄弟节点。node childnodes:返回当前节点的所以子节点。

node firstchild:返回当前节点的第一个子节点。

node lastchild:返回当前节点的最后一个子节点。--以上全是属性。

node 返回文档中中id属性值为idval的html元素。

node 返回标签名称为“tagname”的所有节点。

node 返回name属性为“name”的所有节点。getattribute(“属性名”):用来获取属性的值。

setattribute(“属性名”,“属性值”):用来设置属性的值。

二、html元素的常用属性和方法。

a)表单元素返回该表单的action属性值。该属性值制定表当的提交地址。返回表单内全部表单控件所组成的数组。

返回表单的method属性。重设表单,将所有表单元素的值设置为初始值。提交表单。

b)列表框、下来菜单(htmlselectelement)返回列表框、下拉菜单所在的表单对象。返回列表框、下拉菜单的选项个数。返回列表框、下拉菜单里所有选项组成的数组。

返回列表框、下拉菜单的第index+1各选项。返回该选项默认是否被选中。返回该选项是否被选中。

返回该选项呈现的文本。返回每个选项的value属性。c)**对象。

返回包含**中所有行的第一行。在**中插入一行。

index表示新行将被插入到index所在行之前。若index等于**中的行数,则新行被插入到**的末尾。若index等于0,则新行被插入到**的第一行,因此index不能小于0或大于**中的行数。

从**中删除行。

对象。返回包含行中所有单元格的一个数组。返回该行在表中的位置。

a)insertcell(index):在一行中的指定位置插入一个空的标签。

如果index等于行中的单元格数,则在末尾添加,如果等于0,则在开始位置添加。

删除行中指定的单元格。

对象。返回单元格在某行单元格集合中的位置。

设置或返回单元格的开始标签和结束标签之间的设置或返回单元格内部数据的水平排列方式。设置或返回元素的class属性。

对象中的创建和删除节点的方法。

创建tag标签对应的节点。

clonenode(boolean deep):复制当前节点。当deep为true时,表示在复制当前节点的同时,复制该节点的全部后代节点。false表示仅复制当前节点。

3.添加节点:当一个节点创建成功后,一定要将该节点添加到dom中才行。

对于普通节点,可采用node对象的如下方法来添加节点:a)appendchild(nodenewnode):将newnode添加成当前节点的最后一。

个子节点。b)insertbefore(node newnode,node refnode):在refnode节点之。

前插入newnode节点。

c)replacechild(node newnode,node oldnode):将oldnode节点替。

换成newnode节点d)write():向document对象中输出一条字符串,输完不换行e)writeln():输完后换行。

4.删除节点:删除节点通常借助于父节点,node对象提供了如下方法来删。

除子节点。removechild(oldnode):删除oldnode子节点。

从父节点中删除该子节点后,该子节点代表的内容也会消失。

三、window对象的常用方法和属性。

window对象是整个j**ascript脚本运行的顶层对象。在定义一个全局变量时,该变量时作为window对象的一个属性存在的。常用方法:

a)alert():只有一个参数,仅显示警告框的消息,无返回值,不能对脚本产生任何。

改变。b)prompt():有两个参数,是输入对话框,用来提示用户输入一些信息,单击“取。

消”按钮则返回null,单击确定按钮则返回用户输入的值。c)confirm():只有一个参数,是确认对话框,显示提示框的消息,单击确定返回。

true,单击取消返回false。d)close():关闭窗口。e)open():打开窗口,用于装载新的url所指向的地址,并可指定一系列的新属性,包括隐藏菜单等。

f)支持定时器的方法:settimeout(“code”,interval):用于在制定的“interval”

毫秒后调用函数“code”--cleartimeout:删除g)setinterval(“code”,interval):按照指定的周期“interval”重复调用函数。

code”。-clearinteval():删除定时器。window对象常用属性:

a)closed:返回一个boolean值用于判断该窗口是否处于关闭状态。b)document:

返回该窗口内装载的html文档。c)history:返回该窗口的浏览历史。

d)location:返回该窗口装载的html文档的url。e)screen:有关客户端的屏幕和现实性能的信息。window对象常用事件:

a)onload:一个页面或一幅**完成加载。b)onmouseover:鼠标移到某元素之上。c)onclick:鼠标单击某个对象。

d)onkeydown:某个键盘按键被按下。e)onchange:域的内容被改变。

四、html文档控件支持的事件及描述。

a)onclick:单击某个标签时触发。大多数可现实的标签都支持b)ondbclick:双击某个元素触发大多数可现实的标签都支持。

c)onload:某个对象对装载完毕时触发。、、d)onabort:**加载被中断。e)onerror:**加载出错时触发。

f)onblur:当某个html元素失去焦点时触发该事件,通常意味着用户已经激活了另。

一个html元素,通常对应用户单击了另一个html元素,或使用tab切换了焦点。、、都支持g)onfocus:当某个标签得到焦点时触发,通常是用户单击,或者使用tab建切换焦点。

、、、都支持。

h)onchange:当表单域的值被修改时触发。、、支持i)onkeydown:当焦点在当前元素上面,按下键盘的某个键时触发。表单控件和。

标签支持j)onkeypress:当焦点在当前元素上面,单击键盘的某个键时触发。表单控件和。

标签支持。k)onkeyup:当焦点在当前元素上面,并且松开了键盘的某个键时触发,表单控件和。

标签支持。l)onmousedown:当焦点停留在当前元素上面,并且按下数遍键时触发。

m)onmousemove:当焦点停留在当前元素上面,并且鼠标在当前元素上面移动时触发。n)onmouseout:

当鼠标移出某个元素时触发,及鼠标一开始停留在元素上面。o)onmouseover:当鼠标移动到该元素上面时触发。

p)onmouseup:当焦点在当前元素上面,并且松开鼠标键时触发。

从l)到p)大多数可现实的标签都支持。q)onreset:当前用户重置表单时触发。

r)onsubmit:当表单提交时触发,通常通过单击表单的“提交”按钮触发。s)onunload:

当某个对象从窗口或框架中卸载完毕时触发。、、t)onselect:当用户选择文本框或文本域的某段文字时触发。

、u)onresize:当窗口大小被改变时触发。

网络编程学习笔记

一 tcp网络编程流程。1 client端。初始化socket 解析服务器地址。connect send2 server端。初始化soket用于监听。解析地址。bind地址,绑定本机的地址。listen监听socket accept接收。select轮训判断是否有数据更新。二 函数学习。1 主机字节...

编程学习笔记 初级

1 alt enter快捷键 cmd窗口最大化。2 显示命令行帮助信息。3 color 设置默认的cmd窗口前景和背景颜色。4 dir 显示目录中的文件和子目录列表 例 dir d 5 cd 显示当前目录名或改变当前目录 例 cd d 表示上一级目录 表示当前目录 tab键 自动匹配 表示根目录。6...

编程思想学习笔记

j a的基本设计原则 面向接口编程 优先使用对象组合而非继承 分层 典型的三层结构表现层 逻辑导 数据层 层间交互 表现层调逻辑层,逻辑层调数据层,不可反过来 层间交互应通过接口调用 开闭原则 尽量做到不用修改模块的源 就能更改模块的行为 依赖性倒置原则 依赖抽象而不要依赖具体的实现 接口隔离原则 ...