原文地址:
http://blog.csdn.net/shadowyelling/article/details/7386604
JavaScript可以使用HTML DOM(HTML Document Object Mode 文档对象模型)动态修改网页。
HTML DOM定义了访问和操作HTML文档的标准方法。他把HTML文档呈现为带有元素、属性和文本的树结构。在层次图中,每个对象是它的父对象的属性,如Window对象是Document对象的父对象,所以在引用Document对象就可以使用Window.Document,相当于document是window对象的属性。对于每一个页面,浏览器都会自动创建Window对象、Document对象、Location对象、Navigator对象、History对象。
1.浏览器对象
(1).Window对象
Window对象的属性
1)Close属性,返回一个布尔值,声明了窗口是否已经关闭,为只读属性。
2)defaultStatus属性,设置或返回窗口状态栏中的默认文本,只读属性。
3)status属性,是一个可读可写的字符串,在窗口状态栏显示一条消息,当擦除status声明的消息时,状态栏恢复成defaultstatus设置的值。
<html>
<head>
<script type="text/javascript">
function checkWin()
{
if(myWindow.closed)
document.write("'myWindow' has been closed!")
else
document.write("'myWindow' has not been closed!")
}
</script>
</head>
<body>
<script type="text/javascript">
myWindow=window.open('','','width=200,height=100')
myWindow.document.write("This is 'myWindow'")
myWindow.defaultStatus("this is my first Window")
</script>
<input type="button" value="Has 'myWindow' been closed?" onclick="checkWin()"/>
</body>
</html>
4)opener属性返回创建该窗口的Window对象的引用,是一个可读可写的属性。
注意:只有表示顶层窗口的Window对象的opener属性才有效,表示框架的Window对象的opener属性无效。
<html>
<body>
<script type="text/javascript">
myWindow=window.open('','myName','width=200,height=100')
myWindow.document.write("This is 'myWindow'")
myWindow.focus();
myWindow.opener.document.write("this is the parent window")
</script>
</body>
</html>
5)self属性,可返回窗口自身的引用,相当于Window属性。
6)top属性,返回最顶层的父窗口,改属性对一个顶级窗口的只读引用,如果窗口本身就是一个顶级窗口,top属性存放对窗口自身的引用,如果窗口是一个框架,那么top属性引用包含框架的顶层窗口。
<html>
<head>
<script type="text/javascript">
function checkTopSel()
{
if(window.top==window.self)
{
alert(window.location)
}
}
</script>
</head>
<body>
<input type="button" onclick="checkTopSel()" value="判断当前窗体是否是顶层窗体"/>
</body>
</html>
7)doucment属性:对Document对象的只读引用。
8)history属性:对History对象的只读引用。
9)location属性:用于窗口或框架的Location对象。
10)Navigator属性:对Navigator对象的只读引用。
11)Screen属性:对Screen对象的只读引用
Window对象的方法
1)alert()方法:用于显示带有一条制定消息和一个OK按钮的警告框。 alert(message)
2)confirm()方法:用于显示一个带有制定消息和OK及取消按钮的对话框。 alert(message)
3)prompt()方法:用于显示可可是用户进行输入的对话框。 prompt(text,defaultText)
<html>
<head>
<script language=javascript>
function display_alert()
{
alert("I am an alert box!")
}
function display_confirm()
{
var r=confirm("press a button")
if(r==true)
{
document.write("You pressed OK!")
}
else
{
document.write("You pressed Cancel!")
}
}
function display_prompt()
{
var name=prompt("please enter your name","")
if(name!=null&&name!="")
{
document.write("Hello "+name+"!")
}
}
</script>
</head>
<body>
<input type="button" onclick="display_alert()" value="Display alert box"/>
<br/>
<input type="button" onclick="display_confirm()" value="Display a confirm box"/>
<br/>
<input type="button" onclick="display_prompt()" value="Display a prompt box"/>
</body>
</html>
4)createPopup()方法:用于创建一个pop-up窗口。 window.createPopup()
<html>
<head>
<script type="text/javascript">
function show_popup()
{
var p=window.createPopup()
var pbody=p.document.body
pbody.style.backgroundColor="lime"
pbody.style.border="solid black 1px"
pbody.innerHTML="this is a pop-up!Click outside to close."
p.show(150,150,200,50,pbody)
}
</script>
</head>
<body>
<input type="button" onclick="show_popup()" value="show pop-up"/>
</body>
</html>
5)setInterval()方法:按照指定的周期(以毫秒计)来调用函数或计算表达式。它会不停的调用函数,直到clearInterval()被调用或窗口被关闭。由setInterval返回的ID值作为clearInterval()方法的参数。
6)clearInterval()方法:取消由setInterval()设置的timeout。 clearInterval(id_of_setinterval)
<html>
<body>
<script type="text/javascript">
var num =self.setInterval("clock()",50)
function clock()
{
var t=new Date();
document.getElementById("clock").value=t;
}
</script>
<input type="text" id="clock" size="35"/>
<input type="button" onclick="window.clearInterval(num )" value="stop interval"/>
</body>
</html>
7)setTimeout()方法:用于在指定的毫秒数后调用函数或计算表达式。
注意:setTimeout()只执行code一次。如果要多次调用,就要用setInterval(),或让code自身调用setTimeout()。
8)clearTimeout()方法:取消setTimeout()方法设置的timeout。 clearTimeout(id_of_setTimeout)
<html>
<head>
<script type="text/javascript">
var t;
var c=0;
function startTime()
{
document.getElementById("txt").value=c;
c=c+1;
t=setTimeout("startTime()",1000);
}
function stopTime()
{
clearTimeout(t)
}
function alert_msg()
{
var v=setTimeout("alert('5 seconds')",5000)
}
</script>
</head>
<body>
<form>
<input type="button" value="开始计时!" onclick="startTime()"/>
<input type="text" id="txt"/>
<input type="button" value="停止计时!" onclick="stopTime()"/>
</br>
<input type="button" value="display timeout alert" onclick="alert_msg()"/>
</form>
</body>
</html>
Window对象表示浏览器中打开的窗口,如果文档包含frame或iframe标签,浏览器会为HTML文档创建一个Window对象,并为每个框架创建一个额外的window对象。在客户端JavaScript中,window对象是全局对象,所有的表达式都在当前环境中计算,因此可以把窗口的属性作为全局变量来使用,例如可以只写doucment,而不必写window.document。
同样可以把窗口对象的方法当中函数使用,如只写alert(),而不必写window.alert()。
(2).Document对象
每个载入浏览器的HTML文档都会成为Document对象。Document对象使我们可以从脚本中对HTML页面中的所有元素进行访问。它是Window对象的属性。
Document对象属性
1)body:提供对<body>元素的直接访问。对于定义了框架集的文档,该属性引用最外层的<frameset>
2)cookie:设置或返回与当前文档有关的所有的cookie
3)domain:返回当前文档的域名
4)lastModified:返回文档最后被修改的日期和时间
5)referrer:返回载入当前文档的文档的URL
6)URL:返回当前文档的URL
7)title:返回当前文档的标题
<html>
<body>
<script type="text/javascript">
document.write("与当前文档有关的所有的cookie:"+document.cookie+"</br>")
document.write("当前文档的域名:"+document.domain+"</br>")
document.write("文档最后被修改的日期和时间:"+document.lastModified+"</br>")
document.write("载入当前文档的文档的URL:"+document.referrer+"</br>")
document.write("当前文档的标题:"+document.title+"</br>")
document.write("当前文档的URL:"+document.URL+"</br>")
</script>
</body>
</html>
Document对象方法
1)open()方法:打开一个新的文档,并擦除当前文档的内容。 open("text/html",replace) replace:当此参数设置后,可引起新文档从父文档继承历史条目
注意:调用open()方法打开一个新文档并且用write()方法设置文档内容后,必须用close方法关闭文档,并迫使其内容显示出来。
2)close()方法:关闭一个由document.open()方法打开的输出流,并显示选定的数据。
注意:一旦调用了close(),就不应该再次调用write(),因为这会隐式地调用open()来擦除当前文档并开始一个新的文档。
<html>
<head>
<script type="text/javascript">
function newDocument()
{
var newdoc=document.open("text/html")
var txt="<html><body>Hello world</body></html>"
newdoc.write(txt);
newdoc.close()
}
function testWin()
{
var newWin=window.open('','','width=200,height=200')
newWin.document.open("text/html")
newWin.document.writeln("this is a new window hello world")
newWin.document.close()
}
</script>
</head>
<body>
<input type="button" onclick="newDocument()" value="new Document"/>
</br>
<input type="button" onclick="testWin()" value="new Win"/>
</body>
</html>
3)getElementById()方法:返回对拥有指定ID的第一个对象的引用 document.getElementById(id)
4)getElementsByName()方法:返回带有指定名称对象的集合。因为文档中name的属性不可能唯一,所以getElementsByName()方法返回的是元素的数组,而不是一个元素。
5)getElementsByTagName()方法:返回带有指定标签名的对象的集合。返回元素的顺序是它们在文档中的顺序。getElementsByTagName("*")表示返回文档中所有元素的列表。
注:可以用getElementsByTagName()方法获取任何类型的HTML元素的列表,如 var tables = document.getElementByTagName("table")可以获取文档中所有的表。
HTML DOM定义了多种查找元素的方法,有getElementById()、getElementsByName()、getElementsByTagName(),不过如果要查找文档中一个特定的元素,就要用getElemtnById()
<html>
<head>
<script type="text/javascript">
function getBtnValue()
{
var m=document.getElementById("btn")
alert(m.value)
}
function getHeaderValue()
{
var m=document.getElementById("header")
alert(m.innerHTML)
}
function count()
{
var x=document.getElementsByName("mytext")
alert(x.length)
}
function countElements()
{
var x=document.getElementsByTagName("Input")
alert(x.length)
}
</script>
</head>
<body>
<input type="button" id="btn" value="Click me" onclick="getBtnValue()"/>
<h1 id="header" onclick="getHeaderValue()">This is my header</h1></br>
<input type="text" name="mytext" id="txt1" /></br>
<input type="text" name="mytext" id="txt2" /></br>
<input type="text" name="mytext" id="txt3" /></br>
<input type="button" id="btn2" value="名为 mytext 的元素一共有多少个?" onclick="count()"/></br>
<input type="button" id="btn3" value="How many input elements?" onclick="countElements()"/>
</body>
</html>
6)write()方法:向文档写HTML表达式或javaScript代码。
7)writeln()方法:等同于write()方法,不同的是在每个表达式之后写一个换行符。
(3)Navigator对象
Navigator对象包含有关浏览器的信息。
Navigator的属性和方法
<html>
<head>
<script type="text/javascript">
document.write("<p>浏览器的代码名为:"+navigator.appCodeName+"</p>")
document.write("<p>浏览器的次级版本为:"+navigator.appMinorVersion+"</p>")
document.write("<p>浏览器的名称为:"+navigator.appName+"</p>")
document.write("<p>浏览器的平台和版本信息为:"+navigator.appVersion+"</p>")
document.write("<p>浏览器的语言为:"+navigator.browserLanguage+"</p>")
document.write("<p>浏览器是否启用cookie的布尔值:"+navigator.cookieEnabled+"</p>")
document.write("<p>浏览器的CUP等级:"+navigator.cpuClass+"</p>")
document.write("<p>系统是否处于脱机模式的布尔值:"+navigator.onLine+"</p>")
document.write("<p>浏览器的操作系统平台:"+navigator.platform+"</p>")
document.write("<p>OS使用的默认语言:"+navigator.systemLanguage+"</p>")
document.write("<p>客户机发送服务器的 user-agent 头部的值:"+navigator.userAgent+"</p>")
document.write("<p>OS 的自然语言设置:"+navigator.userLanguage+"</p>")
document.write("<p>当前浏览器是否启用java:"+navigator.javaEnabled()+"</p>")
document.write("<p>当前浏览器是否启用数据污点(data tainting):"+navigator.taintEnabled()+"</p>")
</script>
</head>
</html>
Navigator对象包含的属性描述了正在使用的浏览器,可以使用这些属性进行平台的专用配置,这个实例是唯一的,可以通过window.navigator属性来应用它。
(4)Location对象
Loaction对象包含有关当前URL的信息。
<html>
<head>
<script type="text/javascript">
document.write("<p>设置或返回从井号 (#) 开始的 URL(锚):"+location.hash+"</p>")
document.write("<p>设置或返回主机名和当前 URL 的端口号:"+location.host+"</p>")
document.write("<p>设置或返回当前 URL 的主机名:"+location.hostname+"</p>")
document.write("<p>设置或返回完整的 URL:"+location.href+"</p>")
document.write("<p>设置或返回当前 URL 的路径部分:"+location.pathname+"</p>")
document.write("<p>设置或返回当前 URL 的端口号:"+location.port+"</p>")
document.write("<p>设置或返回当前 URL 的协议:"+location.protocol+"</p>")
document.write("<p>设置或返回从问号 (?) 开始的 URL(查询部分):"+location.search+"</p>")
function newDoc()
{
window.location.assign("http://www.baidu.com")
}
function repalceDoc()
{
window.location.replace("http://www.hao123.com")
}
</script>
</head>
<body>
<input type="button" value="assign()加载新文档" onclick="newDoc()"/><br/>
<input type="button" value="replace()用新的文档替代当前文档" onclick="repalceDoc()"/>
</body>
</html>
- 大小: 26 KB
分享到:
相关推荐
document 对象.html-javascript中DOM对象内容
### JavaScript文档对象模型(DOM)详解 #### 一、引言 文档对象模型(Document Object Model,简称DOM),是W3C为了统一不同浏览器环境下的文档处理方式而制定的一套标准。这一标准的诞生,旨在解决早期浏览器混战...
javascript DOM Html 对象对象参考手册
3. **DOM对象的属性和方法**: - `innerHTML`: 获取或设置元素的HTML内容。 - `firstChild`, `lastChild`, `nodeName`, `nodeValue`, `nodeType`, `nextSibling`, `parentNode`: 这些属性帮助遍历和操作DOM树,...
本教程将深入探讨如何使用JavaScript来生成和操作DOM对象,特别是涉及HTML标签。 首先,我们需要理解DOM的基本概念。DOM将HTML或XML文档视为一棵树形结构,每个节点代表文档的一个部分,如元素、属性、文本等。根...
JavaScript操作XML DOM对象是Web开发中的重要技能,尤其在处理数据交换、页面动态更新和跨平台通信时。本文将深入探讨这一主题,并结合JavaScript技巧,为开发者提供一个全面的指导。 1. **DOM(文档对象模型)基础...
相比之下,DOM对象是JavaScript内建的对象,用于直接操作HTML元素。我们可以通过原生的`document.getElementById`,`document.querySelector`等方法获取DOM对象。一旦我们有了DOM对象,就可以调用它的属性和方法,如...
JavaScript中的DOM对象和jQuery对象是两种不同的数据结构,它们在处理网页元素时有着各自的特性和优缺点。了解它们之间的联系和区别对于JavaScript开发者来说至关重要,因为这有助于选择合适的工具进行网页交互。 ...
DOM定义了一系列的接口,这些接口定义了DOM对象的行为和功能。例如: - **DOMElement**:这是所有DOM元素的基类,定义了元素的基本属性和方法。 - **DOMWindow**:代表浏览器窗口,提供了对浏览器窗口的访问和控制...
JavaScript是Web开发中不可或缺的一部分,主要由三个组成部分构成:ECMAScript、DOM(文档对象模型)和BOM(浏览器对象模型)。这三个部分协同工作,使开发者能够创建动态、交互式的网页。 1. ECMAScript: ...
在Web前端开发中,JavaScript与HTML DOM(Document Object Model)的交互是至关重要的。这篇教程——"JavaScript学习手册十四:HTML DOM-文档元素的操作(二)"深入探讨了如何使用JavaScript来操纵HTML文档中的元素...
文档对象模型(Document Object Model,简称DOM)是一项由万维网联盟(W3C)制定的标准,旨在提供一种独立于编程语言的接口,使得开发者能够通过脚本语言(如JavaScript)动态地访问和更新文档的内容、结构和样式。...
在DOM部分,书中详细讲解了DOM模型的层次结构,如何通过JavaScript访问和修改HTML元素,以及如何利用DOM事件来响应用户交互。理解DOM节点、属性、事件和选择器是创建动态网页的关键,这使得开发者能够动态加载内容、...
DOM对象是JavaScript与HTML交互的基础,而jQuery对象通过封装DOM对象,提供了更为便利的操作接口。理解两者之间的关系和转换方法,对于提升JavaScript编程效率和代码质量具有重要意义。在实际项目中,灵活运用DOM...
JavaScript DOM(Document Object Model)是Web开发中一个关键的概念,它允许我们通过编程方式操作HTML和XML文档。在这个“记录我的旅程之JavaScript DOM系列”中,我们深入探讨了一系列与DOM相关的例题,这些例题...
当浏览器加载 HTML 文档时,它会被转化为一个 DOM 对象模型,这个模型可以通过 JavaScript 来访问。 #### 二、JavaScript 与 HTML DOM 通过 HTML DOM,JavaScript 能够访问 HTML 文档的所有元素。具体来说: 1. *...
什么叫DOM,DOM是文档对象模型(Document Object Model,是基于浏览器编程(在本教程中,可以说就是DHTML编程)的一套API接口,W3C出台的推荐标准,每个浏览器都有一些细微的差别,其中以Mozilla的浏览器最与标准接近...
JavaScript中的BOM(Browser Object Model,浏览器对象模型)和DOM(Document Object Model,文档对象模型)是两个核心概念,它们都是JavaScript与网页交互的关键部分。 **BOM(浏览器对象模型)** 1. **Window...
转换的关键在于,jQuery对象可以调用jQuery库提供的方法,如`.html()`来设置或获取元素的HTML内容,而DOM对象可以直接使用JavaScript原生方法,如`innerHTML`。 **将DOM对象转换为jQuery对象:** 通常,如果你有一...