JavaScript高级程序设计23.pdf

document对象作为HTMLDocument的一个实例,它还有一些标准的Document对象所没有的属性,这些属性提供了网页上的一些信息

  //取得文档标题

var title1=document.title;

  //修改文档标题

document.title="New page title";

  //取得完整的URL

var url=document.URL;

  //取得域名

var domain=document.domain;

  //取得来源页面的URL

var referrer=document.referrer;

如果document.URL等于http://www.wrox.com/WileyCDA/,那么document.domain等于www.wrox.com。

在这3个属性中,只有domain是可以设置的,由于安全方面的考虑,只能将domain设置为URL中包含的域

  //假设页面来自p2p.wrox.com域

document.domain="wrox.com";

由于跨域安全限制,来自不同子域的页面无法通过JavaScript通信,而通过将每个页面的document.domain设置为相同的值,这些页面就可以互相访问对方包含的JavaScript对象了

如果浏览器中的document.domain一开始是松散的,就不能再将其设置为紧绷的

  //假设页面来自p2p.wrox.com域

document.domain="wrox.com";  //成功

document.domain="p2p.wrox.com";  //出错

查找元素

//未找到则返回null,多个id值相同则返回第一次出现的元素

getElementById()

IE怪癖:IE8及较低版本不区分ID大小写,name特性与给定ID匹配的元素也会被返回

//返回包含零个或者多个元素的NodeList 

getElementsByTagName()

在HTML中则返回HTMLCollection对象,可以通过方括号和item()方法来访问

HTMLCollection还有一个方法叫做namedItem(),通过元素的name特性取得集合中的项

<img src="myimage.gif" name="myImage">;

var images=document.getElementsByTagName("img");

var myImage=images.namedItem("myImage");

var myImage=images.namedItem["myImage"];  //对命名的项

getElementsByTagName("*");  //按照出现的顺序取得所有元素

getElementsByName()

返回带有给定name特性的所有元素,最常用的情况是取得单选按钮

特殊集合

document.forms,包含文档中所有<form>元素

document.images,包含文档中所有<image>元素

document.links,包含文档中所有带href特性的<a>元素

DOM一致性检测

由于DOM分为多个级别包含多个部分,有时候需要检测浏览器实现了DOM的哪些部分

document.implementation属性就是为此提供了相应信息和功能的对象,DOM1级只为document.implementation规定了一个方法,即hasFeature(),它接收2个参数:要检测的DOM功能的名称及版本号,如支持,则返回true

var hasXmlDom=document.implementation.hasFeature("XML","1.0");  //并不可靠

文档写入

将输出流写入到网页中的能力write()、writeIn()接收一个写入到输出流中参数,write()会原样写入,writeIn()会在字符串的末尾添加换行符(\n);还可以使用它们动态地添加外部资源,如JavaScript文件,

注意<\/script>要添加转义符,

如果是在网页加载好了以后调用write()则会重写整个网页

方法open()和close()分别用于打开和关闭网页的输出流

严格型XHTML文档不支持文档写入

JavaScript高级程序设计23.pdf,布布扣,bubuko.com

时间: 2024-10-05 14:54:12

JavaScript高级程序设计23.pdf的相关文章

JavaScript高级程序设计51.pdf

(续上篇) 模拟鼠标事件 var btn=document.getElementById("myBtn"); //创建事件对象 var event=document.createEvent("MouseEvents"); //初始化事件对象 event.initMouseEvent("click",true,true,document.defaultView,0,0,0,0,0,false,false,false,false,0,null); /

JavaScript高级程序设计48.pdf

设备中的键盘事件 任天堂Wii等设备可以通过键码知道用户按下了哪个键 复合事件 复合事件是DOM3级事件新添加的一类事件,用于处理IME的输入序列.IME(Input Method Editor,输入法编辑器)可以让用户输入在物理键盘上找不到的字符,IME通常需要同时按住多个键,但最终只输入一个字符,有3种复合事件 compositionstart:在IME的文本复合系统打开时触发,表示要开始输入了 compositionupdate:向输入字段插入新字符时触发 compositionend:在

JavaScript高级程序设计35.pdf

遍历 "DOM2级遍历和范围"模块定义了两个用于辅助完成顺序遍历DOM结构的类型:NodeIterator和TreeWalker,两个类型能够基于给定的起点对DOM结构执行深度优先(depth-first)的遍历操作,与DOM兼容的浏览器都可以访问到这些类型的对象,IE不支持DOM遍历 使用以下代码检测浏览器对DOM2级的遍历支持情况: var supportsTraversals=document.implementation.hasFeature("Traversal&q

JavaScript高级程序设计31.pdf

其它方面的变化 DOM的其他部分在"DOM2级核心"中也发生了一些变化,这些变化与XML命名空间无关,而是确保API的可靠性及完整性 DocumentType类型的变化 DocumentType类型新增了3个属性:publicId.systemId和internalSubset 其中前两个属性表示的是文档类型声明中的两个信息段,这两个信息段在DOM1级中没有办法访问到 alert(document.doctype.publicId); //文档类型声明PUBLIC后的字符串 alert

JavaScript高级程序设计29.pdf

insertAdjacentHTML方法 插入标记最后一个新增的方式是insertAdjacentHTML()方法,它接收两个参数:插入位置和要插入的HTML文本,第一个参数必须是下列值之一: "beforebegin",在当前元素之前插入一个相邻的同辈元素: "afterbegin",在当前元素之下插入一个新的子元素或在第一个子元素之前再插入新的子元素: "beforeend",在当前元素之下插入一个新的子元素或在最后一个子元素之后再插入新的子

JavaScript高级程序设计24.pdf

Element类型 Element类型用于表现XML或HTML元素,提供对元素标签名.子节点及特性的访问,它具有以下特征 nodeType的值为1: nodeName的值为元素的标签名: nodeValue的值为null: parentNode可能是Document或Element: 要访问元素的标签名可以使用nodeName属性或者tagName属性,两者返回相同的值 <div id="myDiv"></div> var div=document.getEle

JavaScript高级程序设计38.pdf

比较DOM范围 在有多个范围的情况下,可以使用compareBoundaryPoints()方法来确认这些范围是否有公共的边界,接收两个参数:表示比较方式的常量值和要比较的范围 常量如下 Range.START_TO_START(0):比较第一个范围和第二个范围的起点:Range.START_TO_END(1):比较第一个范围的起点和第二个范围的终点:Range.END_TO_END(2):比较第一个范围和第二个范围的终点:Range.END_TO_START(3):比较第一个范围的终点和第二个

JavaScript高级程序设计39.pdf

第13章 事件 JavaScript与HTML之间的交互式通过事件来实现的. 事件流 事件流描述的是从页面中接收事件的顺序,IE和Netscape提出了完全相反的事件流概念,IE是事件冒泡流,Netscape是事件捕获流 事件冒泡 click一个<div>元素,click事件沿DOM树向上传播,在每一级节点都会发生,直至传播到document对象,现代浏览器则将事件冒泡到window对象 事件捕获 click一个<div>元素,click事件沿DOM树依次向下,直到传播到事件的实际

JavaScript高级程序设计44.pdf

unload事件 与load事件对应的是unload事件,这个事件在文档被完全卸载后触发,只要用户从一个页面切换到另一个页面,就会发生unload事件,最多的情况是清除引用,避免内存泄漏 与load事件类似,也有两种指定onunload事件的处理程序方式 EventUtil.addHandler(window,"unload",function(event){ alert("Unloaded"); }); 为元素添加特性 <body onunload=&quo