Javascript Step by Step - 02
DOM 操作
DOM是面向HTML和XML文档的API,为文档提供了结构化表示。在DOM中一切都是节点Node,文档就是由许多的Node组成的。文档里的每个节点都有属性 nodeName、nodeValue 和nodeType。Node接口定义了所有节点类型都包含的特性和方法。
| 特性/方法 | 类型/返回类型 | 说明 |
| nodeName | String | 节点的名字;根据节点的类型而定义 |
| nodeValue | String | 节点的值;根据节点的类型而定义 |
| nodeType | Number | 节点的类型常量值之一 |
| ownerDocument | Document | 指向这个节点所属的文档 |
| firstChild | Node | 指向在childNodes列表中的第一个节点 |
| lastChild | Node | 指向在childNodes列表中的最后一个节点 |
| childNodes | NodeList | 所有子节点的列表 |
| previousSibling | Node | 指向前一个兄弟节点;如果这个节点就是第一个兄弟节点,那么改值为null |
| nextSibling | Node | 指向后一个兄弟节点;如果这个节点就是最后一个兄弟节点,那么改值为null |
| hasChildNodes() | Boolean | 当childNodes包含一个或多个节点时,返回真 |
| attributes | NamedNodeMap | 包含了代表一个元素的特性的Attr对象;仅用于Element节点 |
| appendChild(node) | Node | 将node添加到childNodes的末尾 |
| removeChild(node) | Node | 从childNodes中删除node |
| replaceChild(newnode,oldnode) | Node | 将childNodes中的oldnode替换成newnode |
| insertBefore(newnode,refnode) | Node | 在childNodes中的refnode之前插入newnode |
访问指定节点:
| getElementsByTagName | 返回一个包含tagname(如input)等于某个指定值的所有元素的NodeList |
| getElementsByName | 返回包含name等于某个特定值的所有元素组成的NodeList |
| getElementById | 返回id等于某个值的特定元素 |
创建新的节点:
| createElement | 创建元素节点 |
| createTextNode | 创建文本节点 |
| appendChild | 追加节点 |
dom树的格式如下:

Document对象
document对象是Window对象的一部分,可通过window.document属性对其进行访问。
document对象集合:
| all[] | 提供对文档中所有 HTML 元素访问的数组 |
| anchors[] | 对文档中所有 Anchor 对象引用的数组 |
| forms[] | 对文档中所有 Form 对象引用的数组 |
| images[] | 对文档中所有 Image 对象引用的数组 |
| links[] | 对文档中所有 Area 和 Link 对象引用的数组 |
document对象属性:
| cookie | 设置或得到与当前文档有关的所有 cookie |
| domain | 得到当前文档的域名 |
| lastModified | 得到文档被最后修改的日期和时间 |
| referrer | 得到载入当前文档的 URL(前一个URL 地址) |
| title | 得到当前文档的标题 |
| URL | 得到当前文档的 URL |
document对象方法:
| getElementById() | 根据元素 id 得到元素(第一个)对象 |
| getElementsByName() | 根据元素 name 得到元素对象的集合 |
| getElementsByTagName() | 根据指定标签名得到元素对象的集合 |
| open() | 打开一个数据流,以收集来自任何 document.write() 或 document.writeln() 方法的输出 |
| write() | 向文档写 HTML 表达式 或 JavaScript 代码 |
| writeln() | 等同于 write() 方法,不同的是在每个表达式之后写一个换行符 |
| close() | 关闭用 document.open() 方法打开的输出流,并显示选定的数据 |
document的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的location子对象
document.location.hash // #号后的部分
document.location.host // 域名+端口号
document.location.hostname // 域名
document.location.href // 完整URL
document.location.pathname // 目录部分
document.location.port // 端口号
document.location.protocol // 网络协议(http:)
document.location.search // ?号后的部分
BOM和DOM的区别
DOM 描述了处理网页内容的方法和接口;
BOM 描述了与浏览器进行交互的方法和接口。

观察BOM的体系结构,所有的对象都源自window对象,它表示整个浏览器窗口。window对象的函数有:
窗体控制函数 moveBy(),moveTo(),resizeBy(),resizeTo()
窗体滚动轴控制函数 scrollBy(),scrollTo()
焦点控制函数 focus(),blur()
新建窗体函数 open(),close(),opener
对话框函数 alert(),confirm(),prompt()
状态栏属性 status,defaultStatus
时间间隔函数 setTimeout(),clearTimeout(),setInterval(),clearInterval()
Javascript Step by Step - 02的更多相关文章
- SQL Server 维护计划实现数据库备份(Step by Step)(转)
SQL Server 维护计划实现数据库备份(Step by Step) 一.前言 SQL Server 备份和还原全攻略,里面包括了通过SSMS操作还原各种备份文件的图形指导,SQL Server ...
- [ZZ] Understanding 3D rendering step by step with 3DMark11 - BeHardware >> Graphics cards
http://www.behardware.com/art/lire/845/ --> Understanding 3D rendering step by step with 3DMark11 ...
- WinForm RDLC SubReport Step by step
最近在做的一个PO管理系统,因为要用到订单打印,没有用水晶报表,直接使用VS2010的Reporting.参考了网上的一些文章,但因为找到的数据是用于WebForm的,适配到WinForm有点区别,竟 ...
- Step by Step use OBD2 Scanner Guide
Learning to use a good automotive OBD2 code reader is one of the best ways you can continually inves ...
- Step by Step Process of Migrating non-CDBs and PDBs Using ASM for File Storage (Doc ID 1576755.1)
Step by Step Process of Migrating non-CDBs and PDBs Using ASM for File Storage (Doc ID 1576755.1) AP ...
- 稀疏表示step by step(转)
原文地址:稀疏表示step by step(转)作者:野火春风 稀疏表示step by step(1) 声明:本人属于绝对的新手,刚刚接触“稀疏表示”这个领域.之所以写下以下的若干个连载,是鼓 ...
- Step By Step(Lua字符串库)
Step By Step(Lua字符串库) 1. 基础字符串函数: 字符串库中有一些函数非常简单,如: 1). string.len(s) 返回字符串s的长度: 2). string ...
- Step by step Dynamics CRM 2011升级到Dynamics CRM 2013
原创地址:http://www.cnblogs.com/jfzhu/p/4018153.html 转载请注明出处 (一)检查Customizations 从2011升级到2013有一些legacy f ...
- Step by Step 创建一个新的Dynamics CRM Organization
原创地址:http://www.cnblogs.com/jfzhu/p/4012833.html 转载请注明出处 前面演示过如何安装Dynamics CRM 2013,参见<Step by st ...
- Step by step Install a Local Report Server and Remote Report Server Database
原创地址:http://www.cnblogs.com/jfzhu/p/4012097.html 转载请注明出处 前面的文章<Step by step SQL Server 2012的安装 &g ...
随机推荐
- python_opencv应用系列1:图片读写
opencv的读写非常简单,主要用到的就是imread和imwrite两个函数 读取图片示例 import cv2 #imread(filename[, flags]) -> retval im ...
- System Center Configuration Manager 2016 必要条件准备篇(Part2)
步骤2.下载并安装Windows ADK.WDS组件 注意:在Configuration Manager服务器(CM16)上以本地管理员身份执行以下操作 当我们使用Configuration Man ...
- jupyter notebook 报错 ImportError: No module named matplotlib
解决办法: 打开Anaconda Prompt 列出conda环境: conda info --envs 结果显示: # conda environments: # tensorflow * D:\ ...
- centos部署vue项目
参考链接 nodejs服务器部署教程二,把vue项目部署到线上 打包 #在本地使用以下命令,打包 npm run build #打包之后本地会出现dist文件夹.将dist文件夹以及package.j ...
- framework7 v2.x轮播图写法:
<div class="swiper-container swiper-init travel-index-swiper"> <div class="s ...
- 温故而知新:Asp.Net中如何正确使用Session
原文链接作者:菩提树下的杨过出处:http://yjmyzz.cnblogs.com Asp.Net中的Session要比Asp中的Session灵活和强大很多,同时也复杂很多:看到有一些Asp.Ne ...
- HDU(4394),数论上的BFS
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4394 思路很巧妙,要找到m,可以这样思考,n的个位是有m的个位决定的,从0-9搜一遍,满足情况的话就继 ...
- 并查集,是否成树,Poj(1308)
思路: 对于每一条新的边的两个端点,是否是属于一颗树,要是的话,就不是一颗树.否则,就合并. 这里要注意的是,不能是森林,我这里WA了两次了.只不过在最后,查看每个节点的祖先是否是同一个就可以了. # ...
- eclipse的一些快捷键
ctrl + 1快速修复 ctrl + d 快速删除 ctrl + F11快速运行 ctrl + m 放大工作区 atl + /注释 ...
- CNN中卷积的意义
在传统的神经网络中,比如多层感知机(MLP),其输入通常是一个特征向量.需要人工设计特征,然后将用这些特征计算的值组成特征向量.在过去几十年的经验来看,人工找的特征并不总是好用.有时多了,有时少了,有 ...