操作DOM对象

DOM:文档对象模型

1. 核心

浏览器网页就是一个Dom树形结构

  • 更新:更新Dom节点
  • 遍历Dom节点:得到Dom节点
  • 删除:删除一个Dom节点
  • 添加:添加一个新的节点

2. 获得Dom节点

要操作一个Dom节点,就必须要先获得这个Dom节点

//对应CSS选择器
let h1 = document.getElementsByTagName('h1');
let p1 = document.getElementById('p1');
let p2 = document.getElementsByClassName('p2');
let father = document.getElementById('father');
let children = father.children; //获取父节点下的所有子节点
// father.firstChild;
// father.lastChild;

这是原生代码,之后我们尽可能使用jQuery

3. 更新节点

<div id="id1">
123
</div> <script>
let id1 = document.getElementById('id1');
</script>

1. 操作文本

  • id1.innerText='改变后'	;		//修改文本的值
  • id1.innerHTML='<strong>123</strong>'	;//可以解析HTML文本标签

2. 操作CSS

id1.style.color = 'red';
id1.style.fontSize = '200px'; //注意此处为驼峰命名,并不是CSS中的下划线命名
id1.style.padding = '2em';

4. 删除节点

删除节点的步骤:先获取父节点,再通过父节点删除自己

<div id="father">
<h1>标题一</h1>
<p id="p1">p1</p>
<p class="p2">p2</p>
</div> <script>
let self = document.getElementById('p1'); //要删除的当前节点
let father = p1.parentElement; //找到其父节点
father.removeChild(self); //通过父节点(father)删除该节点(self) //删除是一个动态的过程:
//以下的操作是错误的
father.removeChild(father.children[0]);
father.removeChild(father.children[1]);
father.removeChild(father.children[3]);
</script>

注意:删除多个节点的时候,children是在时刻变化的,删除节点的时候一定要注意!

5. 插入节点

我们获得了某个DOM节点,假设这个Dom节点是空的,我们通过innerHTML就可以增加一个元素了。但是这个DOM节点已经存在元素时,我们就不能这么干了,会产生覆盖

1. 追加(将已存在的节点移到后面)

<p id="js">JavaScript</p>

<div id="list">
<p id="se">JavaSE</p>
<p id="ee">JavaEE</p>
<p id="me">JavaME</p>
</div> <script>
let
js = document.getElementById('js');
list = document.getElementById('list');
list.appendChild(js); //追加到后面
</script>

2. 创建一个新的标签,实现插入

<script>
let
js = document.getElementById('js'); //已存在的节点
list = document.getElementById('list');
//通过JS 创建一个新的节点
let newP = document.createElement('P'); //创建一个P标签
newP.id = 'newP';
newP.innerText = 'Hello, administrator!';
list.appendChild(newP);
//创建一个标签节点 (通过这个属性,可以设置任意的值)
let myScript = document.createElement('script');
myScript.setAttribute('type', 'text/javascript');
//可以创建一个style标签
let myStyle = document.createElement('style'); //创建了一个空style标签
myStyle.setAttribute('type', 'text/css');
myStyle.innerHTML = 'body{background-color: red;}'; //设置标签内容
document.getElementsByTagName('head')[0].appendChild(myStyle); //将设置好的标签插入到head节点下,注意,TagName返回的是一个数组! </script>

3. insertBefore

let ee = document.getElementById('ee');
let js = document.getElementById('js');
//要包含的节点.insertBefore(newNode,targetNode)
let list = document.getElementById('list');
list.insertBefore(js,ee);

操作DOM对象的更多相关文章

  1. JavaScript操作DOM对象

    js的精华即是操作DOM对象 [1]先看代码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8& ...

  2. javaScript操作DOM对象(看三遍,敲三遍,写三遍! 不会你找我)!!

    DOM是Document Object Model的缩写,即文档对象模型,是基于文档编程的一套API 使用javaScript操作DOM对象通常分为三类:1.DOM CORE        2.HTM ...

  3. 第四章 JavaScript操作DOM对象

    第四章   JavaScript操作DOM对象 一.DOM操作 DOM是Document Object Model的缩写,即文档对象模型,是基于文档编程的一套API接口,1988年,W3C发布了第一级 ...

  4. js操作DOM对象

    js操作DOM对象  (Document Object Model)文档对象模型 nodeType返回值 1:元素节点 2:属性节点 3:文本节点 8:注释节点 9: 文档节点 nodeName 节点 ...

  5. JavaScript 操作DOM对象

    1)JavaScript  操作DOM對象 1.DOM:是Document  Object  Model 的缩写,及文档对象模型 2.DOM通常分为三类:DOM Core(核心).HTML-DOM 和 ...

  6. JQuery制作网页—— 第三章 JavaScript操作DOM对象

    1. DOM:Document Object Model(文档对象模型):          DOM操作:                   ●DOM是Document Object Model的缩 ...

  7. 使用jQuery快速高效制作网页交互特效-----JavaScript操作DOM对象

    一.DOM操作分类 使用JavaScript操作DOM时通常分为三类:DOM    Core.HTMl--DOM和CSS-DOM 二.访问节点 节点属性 三.节点信息 四.操作节点的属性 语法: ge ...

  8. JS操作DOM对象——JS基础知识(四)

    一.JavaScript的三个重要组成部分 (1)ECMAScript(欧洲计算机制造商协会) 制定JS的规范 (2)DOM(文档对象模型)重点学习对象 处理网页内容的方法和接口 (3)BOM(浏览器 ...

  9. accp8.0转换教材第7章JavaScript操作DOM对象理解与练习

    程序调试,chrome开发人员工具,DOM操作,节点和节点间的关系,节点信息,操作节点,获取元素 一.单词部分 ①alert警告②prompt提示③parentNode父节点④childNode子节点 ...

随机推荐

  1. Java—io流之打印流、 commons-IO

    打印流 打印流根据流的分类: 字节打印流  PrintStream 字符打印流  PrintWriter /* * 需求:把指定的数据,写入到printFile.txt文件中 * * 分析: * 1, ...

  2. VSCode 自定义Vue snippets, 快速生成Vue模板

    命令行 Ctrl+Shift+P # 选择 Configure User Snippets # 选择 Vue.json 原始的Vue.json { // Place your snippets for ...

  3. MD5算法——C++实现

    MD5算法原理 MD5消息摘要算法,属Hash算法一类.MD5算法对输入任意长度的消息进行运行,产生一个128位的消息摘要. 具体实现可参考博客 https://blog.csdn.net/sinat ...

  4. 一网打尽 Java 并发模型

    本篇文章我们来探讨一下并发设计模型. 可以使用不同的并发模型来实现并发系统,并发模型说的是系统中的线程如何协作完成并发任务.不同的并发模型以不同的方式拆分任务,线程可以以不同的方式进行通信和协作. 并 ...

  5. GaussDB连接与登出

    连接 连接命令1: gsql -d ${dbName} -U ${userName} -p {port:默认为25308} -h {ip} -W {password} 连接命令2: gsql -d p ...

  6. 基于Prometheus和Grafana打造业务监控看板

    前言 业务监控对许许多多的场景都是十分有意义,业务监控看板可以让我们比较直观的看到当前业务的实时情况,然后运营人员可以根据这些情况及时对业务进行调整操作,避免业务出现大问题. 老黄曾经遇到过一次比较尴 ...

  7. 封装Vue Element的table表格组件

    上周分享了几篇关于React组件封装方面的博文,这周就来分享几篇关于Vue组件封装方面的博文,也好让大家能更好地了解React和Vue在组件封装方面的区别. 在封装Vue组件时,我依旧会交叉使用函数式 ...

  8. IDEA的externel tool配置Javap -c 命令

    1.ctrl+alt+s打开设置界面,找到Tool-> External Tools 点击 +来增加一个新的外部工具. 在tool setting 的Program输入工具的路径,可以插入宏,比 ...

  9. linux云服务器搭建 express后台 nginx转发

    购买云服务器 或者自己在本地搭建一个虚拟机 (我用的是腾讯云云服务器(CVM),或者可以购买阿里云 ecs服务器) 购买完成后 配置安全组 允许http https ftp 端口 一般运营商会提供说明 ...

  10. openstack nova 手动修改虚拟机状态

    source admin-openrc.sh nova list nova reset-state <id> --active