宿主对象(host object):Web浏览器提供的预定义对象。
宿主对象主要包括Form、Image和Element。可以同个这些对象获得关于某给定网页上的表单、图像和各
种表单元素的信息。
还有一种对象可以用来获得关于某给定网页上的任何一个元素的信息,它就是document对象。
非常实用的DOM方法:getElementById、getElementByTagName、getAttribute和setAttribute。
DOM是“Document Object Model”(文档对象模型)的首字母缩写。如果没有document(文档),DOM
也就无从谈起。当创建了一个网页并把它加载到Web浏览器中时,DOM就在幕后悄然而生。它就根据你编
写的网页文档创建一个文档对象。
javascript 语言中的对象可以分为三种类型:
1、用户定义对象
2、内建对象
3、宿主对象
window对象(宿主对象)对应着浏览器窗口本身,这个对象的属性和方法通常被称为BOM(浏览器对象
模型)。BOM向程序员提供了window.open和window.blur等方法。
DOM把一份文档表示为一棵树(这里所说的“树”是数学意义上的概念),更具体说,DOM把文档表示为
一棵家谱树。
getElementsByTagName()方法允许我们把一个通配符当为它的参数,而这意味着文档里的每个元素都将
在这个函数所返回的数组里占有一席之地。通配符(*)必须放在引号中,这是为了让通配符与乘法操
作符有所区别。
我们还可以把getElementById()和getElementsByTagName()方法结合起来运用。
var shopping = document.getElementById("purchaces");
var items = document.getElementsByTagName("*");
在这两条语句执行完毕后,items数组将只包含其id属性值是pruchase的无序清单里的元素。
通过setAttribute()方法对文档做出修改,将使得文档在浏览器窗口里的现实效果或行为动作发生相应
的变化,但我们在通过浏览器的wiew source选项查看文档的源码时看到的仍将是原来的属性值-----也
就是说,setAttribute()方法做出的修改不会反映在文档本身的源代码里。这种“表里不一”的现象源
自DOM的工作模式:先加载文档的静态内容、再以动态方式对他们进行刷新,动态刷新不影响文档的静
态内容。这正是DOM的真正威力和诱人之处:对页面内容的刷新不需要最总用户在他们的浏览器里执行
页面刷新操作就可以实现。