JS的Document属性和方法小结

Document想必大家并不陌生吧,在使用js的过程中会经常遇到它,那么它有哪些属性、哪些方法,在本文将以示例为大家详细介绍下,希望对大家有所帮助

document.title //设置文档标题等价于HTML的title标签 
document.bgColor //设置页面背景色 
document.fgColor //设置前景色(文本颜色) 
document.linkColor //未点击过的链接颜色 
document.alinkColor //激活链接(焦点在此链接上)的颜色 
document.vlinkColor //已点击过的链接颜色 
document.URL //设置URL属性从而在同一窗口打开另一网页 
document.fileCreatedDate //文件建立日期,只读属性 
document.fileModifiedDate //文件修改日期,只读属性 
document.charset //设置字符集 简体中文:gb2312 
document.fileSize //文件大小,只读属性 
document.cookie //设置和读出cookie 

——————————————————————— 
常用对象方法 

document.write() //动态向页面写入内容 
document.createElement(Tag) //创建一个html标签对象 
document.getElementById(ID) //获得指定ID值的对象 
document.getElementsByName(Name) //获得指定Name值的对象 
document.body.appendChild(oTag) 
——————————————————————— 

body-主体子对象 

document.body //指定文档主体的开始和结束等价于body>/body> 
document.body.bgColor //设置或获取对象后面的背景颜色 
document.body.link //未点击过的链接颜色 
document.body.alink //激活链接(焦点在此链接上)的颜色 
document.body.vlink //已点击过的链接颜色 
document.body.text //文本色 
document.body.innerText //设置body>…/body>之间的文本 
document.body.innerHTML //设置body>…/body>之间的HTML代码 
document.body.topMargin //页面上边距 
document.body.leftMargin //页面左边距 
document.body.rightMargin //页面右边距 
document.body.bottomMargin //页面下边距 
document.body.background //背景图片 
document.body.appendChild(oTag) //动态生成一个HTML对象 

常用对象事件 

document.body.onclick=”func()” //鼠标指针单击对象是触发 
document.body.onmouseover=”func()” //鼠标指针移到对象时触发 
document.body.onmouseout=”func()” //鼠标指针移出对象时触发 
——————————————————————— 
location-位置子对象 

document.location.hash // #号后的部分 
document.location.host // 域名+端口号//好像返回的是主机名localhost,没有返回端口号 
document.location.hostname // 域名 
document.location.href // 完整URL 
document.location.pathname // 目录部分 
document.location.port // 端口号 
document.location.protocol // 网络协议(http:) 
document.location.search // ?号后的部分 
documeny.location.reload() //刷新网页 
document.location.reload(URL) //打开新的网页 
document.location.assign(URL) //打开新的网页 
document.location.replace(URL) //打开新的网页 
——————————————————————— 
selection-选区子对象 
document.selection 

例如: 

复制代码代码如下:

<div>请选中这里的部分文字。</div> 
<div><input type="button" value="请选中部分文字,然后点击这里执行 empty" onclick="javascript:Foo();" /></div> 
<script type="text/javascript" language="javascript"> 
<!-- 
function Foo() 

document.selection.empty(); 

--> 
</script> 



selection的createRange方法 

document.selection.createRange() 根据当前文字选择返回 TextRange 对象,或根据控件选择返回 ControlRange 对象。 

配合 execCommand,在 HTML 编辑器中很有用,比如:文字加粗、斜体、复制、粘贴、创建超链接等。 

这些好像都是只有在IE下才能实现。。 

——————————————————————— 

images集合(页面中的图象) 

a)通过集合引用 
document.images //对应页面上的img标签 
document.images.length //对应页面上img标签的个数 
document.images[0] //第1个img标签 
document.images[i] //第i-1个img标签 

b)通过name属性直接引用 
img name=”oImage” 
document.images.oImage //document.images.name属性 

c)引用图片的src属性 
document.images.oImage.src //document.images.name属性.src 

d)创建一个图象 
var oImage 
oImage = new Image() 
document.images.oImage.src=”1.jpg” 
同时在页面上建立一个img /标签与之对应就可以显示 

———————————————————————- 

forms集合(页面中的表单) 

a)通过集合引用 
document.forms //对应页面上的form标签 
document.forms.length //对应页面上/formform标签的个数 
document.forms[0] //第1个/formform标签 
document.forms[i] //第i-1个/formform标签 
document.forms[i].length //第i-1个/formform中的控件数 
document.forms[i].elements[j] //第i-1个/formform中第j-1个控件 

b)通过标签name属性直接引用 
/formform name=”Myform”>input name=”myctrl”/>/form 
document.Myform.myctrl //document.表单名.控件名 

c)访问表单的属性 
document.forms[i].name //对应form name>属性 
document.forms[i].action //对应/formform action>属性 
document.forms[i].encoding //对应/formform enctype>属性 
document.forms[i].target //对应/formform target>属性 

document.forms[i].appendChild(oTag) //动态插入一个控件 
document.all.oDiv //引用图层oDiv 
document.all.oDiv.style.display=”" //图层设置为可视 
document.all.oDiv.style.display=”none” //图层设置为隐藏 
document.getElementId(”oDiv”) //通过getElementId引用对象 
document.getElementId(”oDiv”).style=”" 
document.getElementId(”oDiv”).display=”none” 
/*document.all表示document中所有对象的集合 
只有ie支持此属性,因此也用来判断浏览器的种类*/ 


图层对象的4个属性 
document.getElementById(”ID”).innerText //动态输出文本 
document.getElementById(”ID”).innerHTML //动态输出HTML 
document.getElementById(”ID”).outerText //同innerText 
document.getElementById(”ID”).outerHTML //同innerHTML 

------------------------------------------------------------------------------------------------------------------------------------------------------------------ 
document.readyState:判断文档是否加载完成。firefox不支持。 

这个属性是只读的,传回值有以下的可能: 

0-UNINITIALIZED:XML 对象被产生,但没有任何文件被加载。 
1-LOADING:加载程序进行中,但文件尚未开始解析。 
2-LOADED:部分的文件已经加载且进行解析,但对象模型尚未生效。 
3-INTERACTIVE:仅对已加载的部分文件有效,在此情况下,对象模型是有效但只读的。 
4-COMPLETED:文件已完全加载,代表加载成功。 

复制代码代码如下:

document.onreadystatechange = subSomething;//当页面加载状态改变的时候执行这个方法. 
function subSomething() 

if(document.readyState == "complete"){ //当页面加载状态为完全结束时进入 
//你要做的操作。 

else if(document.readyState=="loading"){ 


比较好的例子:http://www.jb51.net/article/20445.htm 

说明 :onreadystatechange 事件能辨识readyState 属性的改变。 

document.all(只被IE支持) 

action:document.layers是Netscape 4.x专有的属性,是一个代表所有由储如<div><layer>等定位了的元素的数组通常也是用<div> 或<layer>对象的id属性来引用的,但是这里面不包含除此以外的其它元素 

document.layers和document.all的用法是一样的,功能也是相同的。所在我就只介绍一种用法: 
document.all的意思是文档的所有元素,也就是说它包含了当前网页的所有元素。它是以数组的形式保存元素的属性的,所以我们可以用 document.all["元素名"].属性名="属性值"来动态改变元素的属性。用这条语句,可以做出许许多多动态网页效果,如:动态变换图片、动态改变文本的背景、动态改变网页的背景、动态改变图片的大小、动态改变文字的大小各颜色等等。你简直可以动态控制所有网页元素。 
document.all[]这个数组可以访问文档中所有元素。 

例1(这个可以让你理解文档中哪些是对象) 

复制代码代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title>Document.All Example</title> 
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> 
</head> 
<body> 
<h1>Example Heading</h1> 
<hr /> 
<p>This is a <em>paragraph</em>. It is only a <em>paragraph.</em></p> 
<p>Yet another <em>paragraph.</em></p> 
<p>This final <em>paragraph</em> has <em id="special">special emphasis.</em></p> 
<hr /> 
<script type="text/javascript"> 
<!-- 
var i,origLength; 
origLength = document.all.length; 
document.write('document.all.length='+origLength+"<br />"); 
for (i = 0; i < origLength; i++) 

document.write("document.all["+i+"]="+document.all[i].tagName+"<br />"); 

//--> 
</script> 
</body> 
</html> 


它的执行结果是: 
Example Heading 

-------------------------------------------------------------------------------- 

This is a paragraph. It is only a paragraph. 
Yet another paragraph. 
This final paragraph has special emphasis. 

-------------------------------------------------------------------------------- 

document.all.length=18 
document.all[0]=! 
document.all[1]=HTML 
document.all[2]=HEAD 
document.all[3]=TITLE 
document.all[4]=META 
document.all[5]=BODY 
document.all[6]=H1 
document.all[7]=HR 
document.all[8]=P 
document.all[9]=EM 
document.all[10]=EM 
document.all[11]=P 
document.all[12]=EM 
document.all[13]=P 
document.all[14]=EM 
document.all[15]=EM 
document.all[16]=HR 
document.all[17]=SCRIPT 
(注意它只可以在IE上运行) 

复制代码代码如下:

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<title>单击DIV变色</title> 
<style type="text/css"> 
<!-- 
#docid{ 
height:400px; 
width:400px; 
background-color:#999;} 
--> 
</style> 
</head> 
<body><div id="docid" name="docname" onClick="bgcolor()"></div> 
</body> 
</html> 
<script language="javascript" type="text/javascript"> 
<!-- 
function bgcolor(){ 
document.all[7].style.backgroundColor="#000" 

--> 
</script> 


上面的这个例子让你了解怎么访问文档中的一个特定元素,比如文档中有一个DIV 
<div id="docid" name="docname"></div>,你可以通过这个DIV的ID,NAME 或INDEX属性访问这个DIV: 
document.all["docid"] 
document.all["docname"] 
document.all.item("docid") 
document.all.item("docname") 
document.all[7] 
document.all.tags("div")则返回文档中所有DIV数组,本例中只有一个DIV,所以用 document.all.tags("div")[0]就可以访问了。 

3、使用document.all[] 
例3 

复制代码代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title>Document.All Example #2</title> 
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> 
</head> 
<body> 
<!-- Works in Internet Explorer and compatible --> 
<h1 id="heading1" align="center" style="font-size: larger;">DHTML Fun!!!</h1> 
<form name="testform" id="testform" action="#" method="get"> 
<br /><br /> 
<input type="button" value="Align Left" 
onclick="document.all['heading1'].align='left';" />//改变<h1& gt;</h1>标签对中的align属性的值,下面的代码作用相同 
<input type="button" value="Align Center" 
onclick="document.all['heading1'].align='center';" /> 
<input type="button" value="Align Right" 
onclick="document.all['heading1'].align='right';" /> 
<br /><br /> 
<input type="button" value="Bigger" 
onclick="document.all['heading1'].style.fontSize='xx-large';" /> 
<input type="button" value="Smaller" 
onclick="document.all['heading1'].style.fontSize='xx-small';" /> 
<br /><br /> 
<input type="button" value="Red" 
onclick="document.all['heading1'].style.color='red';" /> 
<input type="button" value="Blue" 
onclick="document.all['heading1'].style.color='blue';" /> 
<input type="button" value="Black" 
onclick="document.all['heading1'].style.color='black';" /> 
<br /><br /> 
<input type="text" name="userText" id="userText" size="30" /> 
<input type="button" value="Change Text" 
onclick="document.all['heading1'].innerText=document.testform.userText.value;" /& gt;//改变<h1></h1>标签对中的文本内容 
</form> 
</body> 
</html> 

posted on 2016-01-20 11:00  anruy  阅读(590)  评论(0编辑  收藏  举报

导航