DOM---文档对象模型(Document Object Model)的基本使用
一、DOM简介
文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展置标语言的标准编程接口。它是一种与平台和语言无关的应用程序接口(API),它可以动态地访问程序和脚本,更新其内容、结构和www文档的风格(目前,HTML和XML文档是通过说明部分定义的)。
DOM 可被 JavaScript 用来读取、改变 HTML、XHTML 以及 XML 文档,它本身属于浏览器。
二、使用DOM查找HTML元素
HTML 文档中的所有节点组成了一个文档树(或节点树)。HTML 文档中的每个元素、属性、文本等都代表着树中的一个节点。树起始于文档节点,并由此继续伸出枝条,直到处于这棵树最低级别的所有文本节点为止。所以查找HTML中的某个标签即是查抄树上的某个节点。
1. 直接查找(通过属性、标签名等)
document.getElementById("i1"); //根据id获取单个元素
document.getElementsByName("i1"); //根据name属性获取多个元素
document.getElementsTagName('a'); //根据标签名称获取多个元素
document.getElementsByClassName('c1'); //根据class属性获取多个元素
2. 间接查找(通过已找到的其他标签)
tag = document.getElementById("i1");
tag.parentElement // 父节点标签元素
tag.children // 所有子标签
tag.firstElementChild // 第一个子标签元素
tag.lastElementChild // 最后一个子标签元素
tag.nextElementSibling // 下一个兄弟标签元素
tag.previousElementSibling // 上一个兄弟标签元素
三、使用DOM操作标签
1. 操作标签内容
tag = document.getElementById("i1");
content = tag.innerText; //获取标签中的文本内容
tag.innerText = "new_content"; //将标签内部文本赋值为new_content
//使用innerText只能操作标签内部的文本内容,即使标签内部包裹了其他标签也会被其忽略
// 常用的操作标签内容的方法,使用方法同innerText
innerText --- 仅文本
innerHTML --- 所有内容(包括标签)
value: ---- 标签的值(下面分别是对有value属性的标签,使用value获取/操作值的详细介绍)
input --- value获取当前输入的值
select --- 获取选中value的值(selectedIndex)
textarea --- 获取当前输入的
2. 操作标签一般属性
obj = document.getElementById("i1");
obj.attributes //---- 获取标签的所有属性
obj.getAttributes(key) //---- 获取标签某个属性的值
obj.setAttributes(key, value) //---- 为标签设置属性
obj.removeAttributes(key) //---- 为标签移除属性
3. 操作标签class属性
tag = document.getElementById('i1')
tag.className // 获取tag的使用的class选择器名称
tag.className = 'c1' // tag使用名为c1的class选择器
tag.classList.add('c2') // 给tag增添c2中的样式
tag.classList.remove('c3') // 移除tag使用的c3中的样式
4. 操作标签样式
// 在上面的操作class属性中,是对一个标签添加或删除一个css代码样式块, 对一个标签具体样式的操作如下 //比如,设置一个标签字体的大小
tag = document.getElementById("i1");
tag.style.fontSize = '16px'; // 其他的各种样式也是采用这种方式设置,设置时样式字段去掉'-',将每个单词的首字母大写(整体首字母小写,tag.style.backgroundColor)
5. 创建标签和操作标签
// 创建标签方式一:
var tag = "<a class='c1' href='http//:www.cnblogs.com'>博客园</a>" // 创建标签方式二:
var tag = document.createElement('a')
tag.innerText = "博客园"
tag.className = "c1"
tag.href = "http://www.cnblogs.com"
// 操作标签,即将创建的插入整个HTML文档的某个位置 // 方式一
var mytag = document.getElementById('i1')
var obj = "<input type='text' />";
mytag.insertAdjacentHTML("beforeEnd",obj); //将标签插入到mytab所代表的标签结束之前的位置,即最后一个子标签
mytag.insertAdjacentElement('afterBegin',document.createElement('p')); //将标签插入到mytab所代表的标签开始之后的位置,即第一个子标签
//注意:第一个参数只能是'beforeBegin'、 'afterBegin'、 'beforeEnd'、 'afterEnd' // 方式二
var tag = document.createElement('a')
xxx.appendChild(tag) // 将新标签作为xxx的最后一个标签
xxx.insertBefore(tag,xxx[1]) // 将新标签插入xxx的第一个子标签之前
DOM---文档对象模型(Document Object Model)的基本使用的更多相关文章
- DOM (文档对象模型(Document Object Model)
DOM(文档对象模型(Document Object Model) 文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口.在网页上 ...
- DOM (文档对象模型(Document Object Model))
文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口.在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象 ...
- (3)选择元素——(2)文档对象模型(The Document Object Model)
One of the most powerful aspects of jQuery is its ability to make selecting elements in the DOM easy ...
- JS--dom对象:document object model文档对象模型
dom对象:document object model文档对象模型 文档:超文本标记文档 html xml 对象:提供了属性和方法 模型:使用属性和方法操作超文本标记性文档 可以使用js里面的DOM提 ...
- javascript之DOM(Document Object Model) 文档对象模型
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- JAVA读取XML,JAVA读取XML文档,JAVA解析XML文档,JAVA与XML,XML文档解析(Document Object Model, DOM)
使用Document Object Model, DOM解析XML文档 也可参考我的新浪博客:http://blog.sina.com.cn/s/blog_43ac5543010190w3.html ...
- DOM 是什么,Document Object Model,文档对像模型
#为什么会想起来写这个 在写dynaTrace Ajax的时候,写到这个是个前端性能测试工具,这个工具能记录请求时间,前端页面渲染时间,DOM方法执行时间,以及JavaScript代码解析和执行时间. ...
- 认识DOM 文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法。元素、属性和文本的树结构(节点树)。
认识DOM 文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法.DOM 将HTML文档呈现为带有元素.属性和文本的树结构(节点树). 先来看看下面代码 ...
- DOM(Document Object Model)
DOM(Document Object Model): 结点的概念:整个文档就是由层次不同的多个节点组成,可以说结点代表了全部内容. 结点类型 1.元素结点 对于元素结点的n ...
- DOM - Document Object Model
Document Object Model
随机推荐
- 客户端对象模型之Excel数据导入到列表
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <t ...
- Notes 20180505 : 计算机的基础知识
总是想要去深入了解一下计算机,可真正去了解的时候才发现那并非一日之功,关于计算机的学习,并未放弃,但是化知识为笔记尚需时日,今日我们先简单了解一下计算机,然后开始Java语言的学习. 1 计算机的基础 ...
- 学习Java的知识体系路线(详细完整版,附图加目录)
将网上的Java学习路线图进行归纳囊括,方便以后学习时弥补自身所欠缺的知识点,也算是给自己一个明确的学习方向.至于第一阶段,即JavaSE的基础,这里不给出. 第二阶段 技术名称 技术内容 数据库技术 ...
- Storm相关笔记(包括Kafka和HBase)
一.Apache Kafka 1.了解Kafka 1.1.Kafka是什么?有什么用? 是什么? 1) Apache Kafka 是一个消息队列(生产者消费者模式) 2) Apache Kafka 目 ...
- input的默认样式去除
outline:none;-----可去除input=text,的输入框输入时的亮边.
- PHP 好用第三方库
PHP 好用第三方库 whoops 更好的php错误报告库 [github]:https://github.com/filp/whoops Whoops是一个易于处理和调试错误的PHP库 .它提供基于 ...
- Python爬虫——Scrapy整合Selenium案例分析(BOSS直聘)
概述 本文主要介绍scrapy架构图.组建.工作流程,以及结合selenium boss直聘爬虫案例分析 架构图 组件 Scrapy 引擎(Engine) 引擎负责控制数据流在系统中所有组件中流动,并 ...
- 音频算法之小黄人变声 附完整C代码
前面提及到<大话音频变声原理 附简单示例代码>与<声音变调算法PitchShift(模拟汤姆猫) 附完整C++算法实现代码> 都稍微讲过变声的原理和具体实现. 大家都知道,算法 ...
- 图 ADT接口 遍历运算 常规运算 邻接矩阵实现
Graph.h (图的结构, 遍历, 常规操作接口) /*定义图的最大定点数, 它要大于等于具体图的顶点树n*/ #define MaxVertexNum 12 /*定义图的最大边数,它要大于等于 ...
- 20155203 实验二《Java面向对象程序设计》实验报告
20155203 实验二<Java面向对象程序设计>实验报告 一.实验内容 参考http://www.cnblogs.com/rocedu/p/6371315.html#SECUNITTE ...