博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DOM---文档对象模型(Document Object Model)的基本使用
阅读量:6500 次
发布时间:2019-06-24

本文共 2692 字,大约阅读时间需要 8 分钟。

一、DOM简介 

  文档对象模型(Document Object Model,简称DOM),是组织推荐的处理的标准。它是一种与平台和语言无关的(API),它可以动态地访问程序和脚本,更新其内容、结构和文档的风格(目前,HTML和XML文档是通过说明部分定义的)。

  DOM 可被 JavaScript 用来读取、改变 HTML、XHTML 以及 XML 文档,它本身属于浏览器。

二、使用DOM查找HTML元素

  HTML 文档中的所有节点组成了一个文档(或节点树)。HTML 文档中的每个元素、属性、文本等都代表着树中的一个节点。树起始于文档节点,并由此继续伸出枝条,直到处于这棵树最低级别的所有文本节点为止。所以查找HTML中的某个标签即是查抄树上的某个节点。

1. 直接查找(通过属性、标签名等)

1 document.getElementById("i1");               //根据id获取单个元素2 document.getElementsByName("i1");             //根据name属性获取多个元素3 document.getElementsTagName('a');          //根据标签名称获取多个元素4 document.getElementsByClassName('c1');     //根据class属性获取多个元素

2. 间接查找(通过已找到的其他标签)

1 tag = document.getElementById("i1");2 tag.parentElement           // 父节点标签元素3 tag.children                // 所有子标签4 tag.firstElementChild       // 第一个子标签元素5 tag.lastElementChild        // 最后一个子标签元素6 tag.nextElementSibling     // 下一个兄弟标签元素7 tag.previousElementSibling  // 上一个兄弟标签元素

三、使用DOM操作标签

1. 操作标签内容

tag = document.getElementById("i1"); content = tag.innerText;      //获取标签中的文本内容 tag.innerText = "new_content";    //将标签内部文本赋值为new_content
//使用innerText只能操作标签内部的文本内容,即使标签内部包裹了其他标签也会被其忽略// 常用的操作标签内容的方法,使用方法同innerTextinnerText    --- 仅文本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 = "博客园"// 创建标签方式二:var tag = document.createElement('a')tag.innerText = "博客园"tag.className = "c1"tag.href = "http://www.cnblogs.com"
// 操作标签,即将创建的插入整个HTML文档的某个位置// 方式一var mytag = document.getElementById('i1')var obj = "";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的第一个子标签之前
你可能感兴趣的文章
Spring、Spring Boot和TestNG测试指南 - 集成测试中用Docker创建数据库
查看>>
NodeJS 使用 Range 请求实现下载功能
查看>>
一个简单的例子教会您使用javap
查看>>
5分钟深入了解js变量提升
查看>>
【ES6入门12】:Promise
查看>>
Java动态性(1) - 动态编译(DynamicCompile)
查看>>
vagrant 添加带版本号的 box
查看>>
http和https有何区别
查看>>
微信小程序授权登录、解密unionId出错
查看>>
dockerfile构建flask环境
查看>>
js中的prototype、__proto__、constructor
查看>>
JAVA学习之路 (一) 入门及前期准备
查看>>
自动安装脚本
查看>>
高效编写Dockerfile的几条准则
查看>>
从零写一个Java WEB框架(一)
查看>>
webpack-serve 的使用
查看>>
一张图看懂Apsara Block Storage企业级分布式块存储产品
查看>>
JQuery快速使用之元素查找与操作
查看>>
js查找HTMLCollection对象中的下标
查看>>
PHP的工作原理和生命周期
查看>>