JavaScript 客户端JavaScript之 脚本化文档
客户端JavaScript的存在把静态HTML转变为交互式的Web应用程序,脚本化Web页面的内容正是JavaScript存在的理由。
<body>
<input type="button" value="打开一个新窗口" id="bt1"/>
</body> window.onload = function () {
var btn = document.getElementById("bt1");
btn.onclick = function () {
//var o = window.open("test.aspx");
var o = window.open();
var doc = o.document;
doc.open();
doc.write("this ");//会覆盖原有页面的内容
doc.write(" is");
doc.write(" a");
doc.write(" test");
doc.close(); }
}
console.log("document.bgColor:" + document.bgColor + "\ndocument.cookie:" + document.cookie + "\n");
console.log("document.domain:" + document.domain + "\ndocument.lastModified:" + document.lastModified + "\n");
console.log("document.location:" + document.location + "\ndocument.referrer:" + document.referrer + "\n");
console.log("document.URL:" + document.URL);
下面为输出:
document.bgColor:
document.cookie:
document.domain:localhost
document.lastModified:03/25/2015 21:36:48
document.location:http://localhost:1344/default.aspx
document.referrer:
document.URL:http://localhost:1344/default.aspx"
<form name="form1">
<input type="button" name="fbtn" value="打开一个新窗口" id="bt1"/>
</form>
document.form1.name2
window.onload = function () {
document.form1.fbtn.onclick = function () {
//var o = window.open("test.aspx");
var o = window.open()
var doc = o.document;
doc.open();
doc.write("this ");
doc.write(" is");
doc.write(" a");
doc.write(" test");
doc.close();
}
}
HTML DOM 树

通过可编程的对象模型,JavaScript 获得了足够的能力来创建动态的 HTML。
- JavaScript 能够改变页面中的所有 HTML 元素
- JavaScript 能够改变页面中的所有 HTML 属性
- JavaScript 能够改变页面中的所有 CSS 样式
- JavaScript 能够对页面中的所有事件做出反应
节点父、子和同胞
节点树中的节点彼此拥有层级关系。
父(parent)、子(child)和同胞(sibling)等术语用于描述这些关系。父节点拥有子节点。同级的子节点被称为同胞(兄弟或姐妹)。
- 在节点树中,顶端节点被称为根(root)
- 每个节点都有父节点、除了根(它没有父节点)
- 一个节点可拥有任意数量的子
- 同胞是拥有相同父节点的节点
nodeName、nodeValue 以及 nodeType 包含有关于节点的信息。
nodeName 属性含有某个节点的名称。
- 元素节点的 nodeName 是标签名称
- 属性节点的 nodeName 是属性名称
- 文本节点的 nodeName 永远是 #text
- 文档节点的 nodeName 永远是 #document
注释: nodeName 所包含的 XML 元素的标签名称永远是大写的
nodeValue
对于文本节点,nodeValue 属性包含文本。
对于属性节点,nodeValue 属性包含属性值。
nodeValue 属性对于文档节点和元素节点是不可用的。
nodeType
nodeType 属性可返回节点的类型。
最重要的节点类型是:
| 元素类型 | nodeTyep的值 |
接口
|
|---|---|---|
| 元素element | 1 |
Element
|
| 属性attr | 2 |
Attr
|
| 文本text | 3 |
Text
|
| 注释comments | 8 |
Comment
|
| 文档document | 9 |
Document
|
|
DocumentFragment
|
11
|
DocumentFragment
|
|
特性名
|
版本 |
描述
|
|
|
HTML
|
1.0
|
1级Core和HTML接口
|
|
|
XML
|
1.0
|
1级Core和XML接口
|
|
|
Core
|
2.0
|
2级Core接口
|
|
|
HTML
|
2.0
|
2级HTML接口
|
|
|
XML
|
2.0
|
2级XML接口
|
|
|
Views
|
2.0
|
AbstractView接口
|
|
|
StyleSheets
|
2.0
|
通用样式表遍历
|
|
|
CSS
|
2.0
|
CSS样式
|
|
|
CSS2
|
2.0
|
CSS2Properties接口
|
|
|
Events
|
2.0
|
事件处理基础结构
|
|
|
UIEvents
|
2.0
|
用户接口事件(加上Events和Views)
|
|
|
MouseEvents
|
2.0
|
Mouse事件
|
|
|
HTMLEvents
|
2.0
|
HTML事件
|
|
|
CSS3
|
|
CSS3Properties接口
|
|
<form name="form1">
<input type="button" name="fbtn" value="创建一个节点" id="bt1" />
</form>
window.onload = function () {
document.form1.fbtn.onclick = function () {
var t = document.createTextNode("文本节点");
document.form1.appendChild(t);
}
}
<form name="form1">
<input type="button" name="fbtn" value="查询选定的文本" id="bt1" />
这是一个可选的文本
</form> window.onload = function () {
document.form1.fbtn.onclick = function () {
var s="";
if (window.getSelection)
{
s = window.getSelection();
}
else if (window.Selection)
{
s = window.Selection;
}
else if (document.getSelection)
{
s = document.getSelection();
}
alert(s);
}
}
一些 DOM 对象方法
这里提供一些您将在本教程中学到的常用方法:
| 方法 | 描述 |
|---|---|
| getElementById() | 返回带有指定 ID 的元素。 |
| getElementsByTagName() | 返回包含带有指定标签名称的所有元素的节点列表(集合/节点数组)。 |
| getElementsByClassName() | 返回包含带有指定类名的所有元素的节点列表。 |
| appendChild() | 把新的子节点添加到指定节点。 |
| removeChild() | 删除子节点。 |
| replaceChild() | 替换子节点。 |
| insertBefore() | 在指定的子节点前面插入新的子节点。 |
| createAttribute() | 创建属性节点。 |
| createElement() | 创建元素节点。 |
| createTextNode() | 创建文本节点。 |
| getAttribute() | 返回指定的属性值。 |
| setAttribute() | 把指定属性设置或修改为指定的值。 |
JavaScript 客户端JavaScript之 脚本化文档的更多相关文章
- Javascript学习8 - 脚本化文档(Document对象)
原文:Javascript学习8 - 脚本化文档(Document对象) 每个Web浏览器窗口(或帧)显示一个HTML文档,表示这个窗口的Window对象有一个document属性,它引用了一个Doc ...
- JavaScript权威指南--脚本化文档
知识要点 脚本化web页面内容是javascript的核心目标. 第13章和14章解释了每一个web浏览器窗口.标签也和框架由一个window对象所示.每个window对象有一个document对象, ...
- JavaScript权威设计--JavaScript脚本化文档Document与CSS(简要学习笔记十五)
1.Document与Element和TEXT是Node的子类. Document:树形的根部节点 Element:HTML元素的节点 TEXT:文本节点 >>HtmlElement与 ...
- javascript脚本化文档
1.getElememtById /** * 获取指定id的的元素数组 */ function getElements(/*ids...*/) { var elements = {}; for(var ...
- JavaScript 客户端JavaScript之脚本化HTTP(通过XMLHttpRequest)
XMLHttpRequest对象的设计目的是为了处理由普通文本或XML组成的响应:但是,一个响应也可能是另外一种类型,如果用户代理(UA)支持这种内容类型的话. 大多数浏览的客户端JavaScri ...
- JavaScript 客户端JavaScript之 脚本化浏览器窗口
1.计时器 客户端Javascript以全局函数setTimeOut().clearTimeOut().setInterval().clearInterval()提供这一功能. 前者是从运行的那一 ...
- JavaScript学习笔记7 之DOM文档对象模型
一.什么是DOMDocument Object Model 文档 -------对象 ----模型-------缩写DOM DOM是针对HTML和XML文档的一个API(应用程序编程接口).DOM描绘 ...
- javascript之DOM(Document Object Model) 文档对象模型
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- 《javascript高级程序设计》笔记:文档模式
文档模式是用于指定浏览器使用什么样的标准来正确的显示网页,各个标准的解析存在着差异 文档类型的分类 文档模式大致分为三种类型: 混杂模式(quirks mode) 标准模式(standards mod ...
随机推荐
- jquery 获取选中的文字.当前光标所在的位置等jquery-fieldselection 插件
写词典在线编辑器用到的一个功能 能获取选中的文字.当前的光标的位置 等位置,而且支持多个文本框一起操作 非常方便 git地址:https://github.com/localhost/jquery-f ...
- jquery $.each() 小探
<html> <head> <title> jquery each使用 </title> <script type='text/javascrip ...
- COJ 1011 WZJ的数据结构(十一)树上k大
题解:主席树&DFS序. PS:为什么我一开始Wa了N发 是因为有一个左区间我写成[L,M+1]了.......................... #include<iostream ...
- 2015第35周五JavaScript变量
java语言里有一句很经典的话:在java的世界里,一切皆是对象. Javascript虽然跟java没有半点毛关系,但是很多会使用javascript的朋友同样认为:在javascript的世界里, ...
- Oracle function注释
create or replace function fn_bookid_get_by_chapterid(inintChapterId in integer, outvarBookId out va ...
- Perl数据库DBI接口简介【转载】
本文转载自:http://blog.csdn.net/like_zhz/article/details/5441946 ######################################## ...
- c宏的MAX函数
今天从香山上面回来累的跟傻逼一样,回来问了一下胡总的阿里面试的问题.然后其中有一个是宏写max函数.胡总说不好写,然后我就去洗澡了. 洗澡的时候感觉不对啊,回来写了一个: #define MAX(a, ...
- IO中同步、异步与阻塞、非阻塞的区别(转)
转自:http://blog.chinaunix.net/uid-26000296-id-3754118.html 一.同步与异步同步/异步, 它们是消息的通知机制 1. 概念解释A. 同步所谓同步, ...
- 程序中使用7-zip(7z)压缩文件
Email:longsu2010 at yeah dot net 工作中难免遇到需要压缩文件的情况,比如有一千万个小文件,每个文件约100k,如果使用7-zip压缩后可能十几k,可以节省很多磁盘空间. ...
- soundPool和audiofocus
audiofocus试验: 使用soundPool来写一个播放音频的porject. 资源初始化: setContentView(R.layout.activity_main); Button bt1 ...