关于js中的顶级对象模型

只是为了更深的记住,所以自己打成文章发表,莫吐槽!


DOM即是所谓的文档对象模型。

引用对象的能力决定了代码的功能,而对象则依赖于其在文档对象模型中的层次,知道了对象在文档对象模型中所处的层次,就可以准确定位并操作对象了。

当浏览器载入HTML文档时,根据DOM定义的结构模型层次,当遇到自身支持的HTML元素对象所对应的标记时,就按HTML文档载入的书序在客户端内存中创建这些对象,并按对象创建的顺序生成对象数组。对象创建后,浏览器为这些对象提供专供的JavaScript脚本使用的可选属性及方法和处理程序,Web引用程序开发者通过这些属性、方法和处理程序就能动态操作HTML文档内容。


Window对象在启动浏览器载入文档的同时生成,与当前浏览窗口相关,包含窗口的最小最大化、尺寸大小等属性,同时具有关闭窗口、创建新窗口等方法。


frames[]:表示Window页面中的框架数组对象,每个框架都包含一个window对象

location对象以URL的形式载入当前窗口,并保存正在浏览的文档的位置及其构成信息,如协议、主机名、端口、路径、URL的查询字符串部分等。

document对象包含HTML文档中的HTML标记和构成文档内容的文本的对象,客户端浏览器中每个载入的HTML文档都有一个document对象,在多框架文档中,框架集的每个成员都包含一个document对象,按照对象包含的层次进行访问。

history:包含当前窗口的历史列表对象,用户与跟窗口中曾经使用过的URL,包括其历史表的长度、历史表中上一个URL和下一个URL等信息。

navigator:包含当前浏览器的相关信息的对象,包括处理当前文档的客户端浏览器的版本号、商标等只读信息,防止脚本对客户端浏览器相关信息的恶意访问和篡改。

screen:包含当前浏览器运行的物理环境信息的对象,包含如监视器的有效像素数等信息。


通过对象位置访问文档对象:

        document.forms[0].elements[0];             访问body里第一个form表单的第一个元素

        document.forms[0].elements[0].value;       获取第一个元素的值

        方法简单明了,但是对HTML文档的结构过于依赖,给脚本代码维护带来了很大的难度


通过name属性访问文档对象

       document.MyForm1.MyTextOfForm1.value;       访问一个名为MyFrom1表单中名为MyTextOfForm1文本框的值

       document.MyForm2.MyTextOfForm2.value;     


通过id属性访问文档对象

       currentElement=document.getElementById('p1');      获取id名为p1的值


通过联合数组访问文档对象

        在HTML被浏览器解释执行的同时,同类型的元素将构成某个联合数组的元素,可通过一个整数或者字符串为索引参数,完全定位该对象。一般情况下使用HTML文档中分配给标记元素的id属性name属性作为参数。

        document.forms["MyForm1"].elements["MyTextOfForm1"];

        在IE中提供专门item()方法作为联合数组的索引,该方法将对象集中名为参数字符串的对象从对象集中取出,如上面例子可用:document.forms.item("MyForm1")实现



DOM将文档看成一棵节点树。

节点分为:元素节点(element node)、文本节点(text node)、属性节点(attribute node)。

对象属性:nodeName、nodeValue、nodeType、parentNode、childNodes、firstChild(对标记的子节点集合中第一个节点的引用,如果存在的话)、lastChild、previousSibling(对同属一个父节点的前一个兄弟节点的引用)、nextSibling、Attributes(返回当前节点(标记)属性的列表)、ownerDocument(指向包含节点(标记)的HTML document对象

object.getAttribute(attribute)       :获取特定属性如title、font-size的取值,getElementById("p").getAttribute("title")

object.setAttribute(attribute)       :设置特定属性的取值

object.removeAttribute(attribute)       :删除任意元素节点指定的属性


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值