js学习--DOM操作详解大全 前奏(认识DOM)
一 . 节点属性
DOM 是树型结构,相应的,可以通过一些节点属性来遍历节点树:
| 方法 | 说明 |
|---|---|
| nodeName | 节点名称,相当于tagName.属性节点返回属性名,文本节点返回#text。nodeName,是只读的。 |
| nodeType | 节点的类型,返回值:1,元素节点;2,属性节点;3,文本节点。nodeType 是只读的。 |
| nodeValue | 节点的值,返回一个字符串,指示这个节点的值。元素节点返回 null,属性节点返回属性值,文本节点返回文本。nodeValue 可读可写,这是对元素节点不能写。一般只用于设置文本节点的值。 |
| childNodes | 返回子节点数组。文本和属性节点的 childNodes 永远是 null。可以用 hasChildNodes 来判断是否有子节点。只读属性。 |
| firstChild | 返回第一个子节点。文本和属性节点没有子节点,会返回一个空数组。对于元素节点,若是没有子节点会返回 null。有一个等价式:firstChild = childNodes[0]。 |
| lastChild | 返回最后一个子节点。返回值同 firstChild,,三方待遇参考上面。有一个等价式:lastChide = childNodes[childNodes.length - 1]。 |
| nextSibling | 返回节点的下一个兄弟节点。如果没有下一个兄弟节点的话,返回 null。只读属性。 |
| previousSibling | 返回节点的上一个兄弟节点。同上。 |
| parentNode | 返回节点的父节点。document.parentNode 返回 null,其他的情况下都将返回一个元素节点,因为只有元素节点拥有子节点,出了 document 外任何节点都拥有父节点。只读属性。 |
二. 节点方法
还记得下面这些我们用过的方法么,他们都是 DOM 的方法:
| 方法 | 说明 |
|---|---|
| write() | 写入内容到文档 |
| getElementById() | 返回带有指定 ID 的元素 |
| getElementsByTagName() | 返回带有指定标签名的所有元素 |
| getElementsByClassName() | 返回包含指定类名的所有元素的一个列表 |
| get/setAttribute('key', 'value') | 返回或设置属性节点。 |
这些方法的前面要加上 document 对象的哦~
还有一些其它的 DOM 操作控制的方法:
| 方法 | 说明 |
|---|---|
| createElement('tagName') | 创建节点。 |
| createTextNode('text'); | 创建文本节点。 |
| appendChild(o) | 在父节点末尾附加子节点 ,其中 o 为节点对象。 |
| createDocumentFragment() | 创建文档片断。 |
| removeChild(oP) | 删除节点。 |
| replaceChild(newOp, targetOp) | 替换节点。 |
| insertBefore(newOp, targetOp) | 已有的子节点前插入一个新的子节点。 |
| insertAfter(newOp, targetOp) | 已有的子节点之后插入一个新的子节点。 |
| get/setAttribute('key', 'value') | 设置或得到属性节点。 |
| cloneNode(true/false) | 复制节点。 |
这些方法的使用主体不只是 document,更多的是各个节点元素。
在文档对象模型(DOM)中,每个节点都是一个对象。DOM 节点有三个重要的属性 :
| 属性 | 说明 |
|---|---|
| nodeName | 节点名称,相当于 tagName 属性节点返回属性名,文本节点返回 #text。nodeName,是只读的。 |
| nodeType | 节点的类型,返回值:1,元素节点;2,属性节点;3,文本节点。nodeType 是只读的。 |
| nodeValue | 节点的值,返回一个字符串,指示这个节点的值。元素节点返回 null,属性节点返回属性值,文本节点返回文本。nodeValue 可读可写,这是对元素节点不能写。一般只用于设置文本节点的值。 |
节点属性介绍:
一、nodeName 属性:节点的名称,是只读的。
1. 元素节点的 nodeName 与标签名相同
2. 属性节点的 nodeName 是属性的名称
3. 文本节点的 nodeName 永远是#text
4. 文档节点的 nodeName 永远是#document
二、nodeValue 属性:节点的值
1. 元素节点的 nodeValue 是 undefined 或 null
2. 文本节点的 nodeValue 是文本自身
3. 属性节点的 nodeValue 是属性的值
三、nodeType 属性:节点的类型,是只读的。以下常用的几种结点类型:
| 元素类型 | 节点类型 |
|---|---|
| 元素 | 1 |
| 属性 | 2 |
| 文本 | 3 |
| 注释 | 8 |
| 文档 | 9 |
我们有两种方法替换元素的内容,一个是 innerHTML,另一个是 innerText。
innerHTML 属性用于获取或替换元素的内容,比如 <div> 标签内的所有元素。
<div><a>文本内容</a></div>
innerText 属性用于获取或替换元素的文本内容,只有文本内容,没有其它 HTML 标签。
<div><a>文本内容</a></div>
使用语法:
Object.innerHTML
Object.innerText
参数说明: Object 是获取的元素对象,如通过document.getElementById("ID")获取的元素。
style 的使用语法:
Object.style.property = new style;
参数说明:
1. Object 是获取的元素对象,如通过document.getElementById("id")获取的元素。
2. property 为 css 样式属性,比如 color,width 等等,不做过多说明。
className 属性可以设置或返回元素的 class 属性。
使用语法:
Object.className = classname;
参数说明:
1. Object 是获取的元素对象,如通过document.getElementById("id")获取的元素。
2. className 为 元素的 class 属性。
js学习--DOM操作详解大全 前奏(认识DOM)的更多相关文章
- js学习--DOM操作详解大全一(浏览器对象)
一.客户端中的window对象 window对象表示当前浏览器的窗口,它是一个顶级对象,我们创建的所有对象.函数.变量都是window对象的成员. window对象自带了一些非常有用的方法.属性. w ...
- js学习--DOM操作详解大全二(window对象)
一.window - 计时器 1、setTimeout()可以用来在指定的时间之后单次调用函数.setTimeount(f,1000);//一秒后调用函数fclearTimeout();取消函数的执行 ...
- jQuery的DOM操作详解
DOM(Document Object Model-文档对象模型):一种与浏览器, 平台, 语言无关的规则, 使用该接口可以轻松地访问页面中所有的标准组件DOM操作的分类 核心-DOM: DOM Co ...
- JavaScript 的DOM操作详解
内容概要 DOM之查找标签 基本查找 间接查找 节点操作 获取值操作 class操作 样式操作 事件 内置参数this 事件练习 内容详细 DOM操作 DOM(Document Object Mode ...
- javascript dom 操作详解 js加强
js加强操作实现代码. 1 .文档里的每个节点都有属性 nodeName . nodeValue . nodeType nodeName 文本节点的的节点名是 #text , nodeName 是只读 ...
- JavaScript基础:DOM操作详解
本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. 前言 JavaScript的组成 JavaScript基础分为三个部分: ...
- Jqurey DOM 操作详解
一.获取 1.获取内容----.text() .html() .value() text() - 设置或返回所选元素的文本内容 格式:$(选择器) ...
- mongodb学习04 操作详解(2)
查找文档 筛选查找 db.collection.find(); 返回一个集合中文档的子集,子集的 范围从 0 个文档到整个集合; db.collection.findOne(); 返回筛选的一个文档; ...
- mongodb学习03 操作详解
插入文档 db.test.insert({"name":"jinks"}); 批量插入 db.test.insert([{}, {}, {}]); 一次批量插入 ...
随机推荐
- 文件上传工具swfupload[转]
转至:http://zhangqgc.iteye.com/blog/906419 文件上传工具swfupload 示例: 1.JavaScript设置SWFUpload部分(与官方例子类似): var ...
- linux 环境下java环境配置
vi + /etc/profile向文件里面追加以下内容:JAVA_HOME=/usr/local/java7JRE_HOME=/usr/local/java7/jrePATH=$PATH:$JAVA ...
- 23讲 URL
这是看完23讲后的小笔记,关于URL规则.伪静态. 一.URL规则 2.此处的区分大小写,也只是对第一个字母区分,并非对整个模块名. 3.模块名复杂时,且区分大小写,此时在地址栏访问时要用" ...
- SVG(可扩展矢量图)系列教程
本系列教程同步至博客www.waylau.com 从新往久排序,持续更新 SVG与JS交互实例之画板 SVG <marker>创建箭头 SVG实例之中国地图 SVG实例之电力开关 SVG ...
- Pilin —— 一个基于Xmpp openfire smack的即时聊天工具
https://github.com/whfcomm/Pilin
- 初步掌握HBase
1.HBase概述 HBase是hadoop生态系统中的重要组成部分,是一个开源的.面向列.适合存储海量非结构化数据或半结构化数据,具备高可靠性.高性能.可灵活扩展伸缩.支持实时数据读写的分布式存储系 ...
- python学习笔记--Django入门一 网页显示时间
我的笔记是学习http://djangobook.py3k.cn/ 课程时做的,这个上边的文章讲的确实是非常的详细,非常感谢你们提供的知识. 上一篇随笔中已经配置好了Django环境,现在继续跟随ht ...
- android开发之记录ListView滚动位置
这个问题本身不难,但是由于项目中的需求太过于复杂,结果导致这个问题变得不是那么容易实现.在网上一搜,结果如下: 我不知道是who copy who?反正介绍的所谓的三种方法,第一种都是无法运行的,很明 ...
- Java基础知识强化之网络编程笔记09:TCP之客户端键盘录入服务器写到文本文件中
1. TCP之客户端键盘录入服务器写到文本文件中 (1)客户端: package cn.itcast_09; import java.io.BufferedReader; import java.io ...
- 通过开发工具发布web应用到tomcat服务器中--对于小白,大神可以忽略不看,勿喷,谢谢
需要的工具 MyEclipse和TomCat 本人用的是MyEclipse2014和TomCat7 TomCat结构图 第一步:在MyEclipse中配置TomCat 如图所示: 第二步:创建Web项 ...