0


一篇玩转DOM,顺便上个百度热搜【收藏版】

✍🏼作者:周棋洛,大二计算机学生
♉星座:金牛座
🌐关键:

  1. javascript
  1. DOM
  1. 玩转

大家好,我是小周,今天分享

  1. JavaScript

中有意思的

  1. dom

操作,学完本文,你将玩转dom,文末有福利哦,让你上百度热搜,前提是学习完本文哈,原创不易,如果觉得文章写的不错,还请点赞关注支持我呀,你的支持是我创作的动力

在这里插入图片描述

文章目录

什么是 DOM ?

  1. Document Object Model

,缩写DOM,中文:

  1. 文档对象模型

,是W3C组织推荐的处理可扩展标记语言的

  1. 标准编程接口

在这里插入图片描述

什么是 DOM Tree ?

  1. DOM Tree

是指通过

  1. DOM

  1. HTML

页面进行

  1. 解析

,并

  1. 生成

  1. HTML tree
  1. 树状结构

和对应

  1. 访问方法

,借助 DOM Tree,我们能直接而且

  1. 简易

的操作 HTML 页面上的每个标记内容,比如下面 HTML 代码

  1. <html><head><title>玩转dom</title></head><body><p>我是一个dom节点</p><div><p>div p</p></div></body></html>

抽象为 dom树如下所示:
在这里插入图片描述

了解了以上知识后,下面就是对API的学习了,我将从如何获取 DOM,如何创建添加 DOM,如何修改 DOM 以及如何删除 DOM 四个方面进行讲解,跟紧了

在这里插入图片描述

获取 DOM

获取DOM的api有很多,但都十分简单,加油


1. 通过 id 获取 🚥

语法:

  1. document.getElementById("id name");

实例:

  1. <body><pid="p">我是p节点</p><script>var p = document.getElementById("p");
  2. console.log(p);</script></body>

在这里插入图片描述

打开控制台,可以看到成功拿到


2. 通过标签名 tag name 获取 🚥

语法:

  1. document.getElementsByTagName("tag name");

实例:

  1. <body><p>我是p节点</p><p>我也是p节点</p><script>var p = document.getElementsByTagName("p");
  2. console.log(p);for(let i =0; i < p.length; i++){
  3. console.log(p[i]);}</script></body>

在这里插入图片描述

注意:使用 getElementsByTagName() 方法可以返回带有指定标签名的对象的集合,因为得到的是一个对象的集合,所以我们想要操作里面的元素就需要遍历,注意:使用该方法得到元素对象是动态的


3. 通过类名 class name 获取 🚥

语法:

  1. document.getElementsByClassName("class name");

实例:

  1. <body><pclass="p">我是p节点</p><pclass="p">我是p节点</p><script>var p = document.getElementsByClassName("p");
  2. console.log(p);for(let i =0; i < p.length; i++){
  3. console.log(p[i]);}</script></body>

在这里插入图片描述

这个也很简单,记住就好了


4. 通过 HTML5 新增api获取【推荐】🚥

语法:

  1. document.querySelector("详见实例");
  1. document.querySelectorAll("详见实例");

实例:

  1. <body><pclass="p">我是p节点</p><pclass="name">梨花</p><pid="info">信息</p><script>// 通过标签名获取var p = document.querySelector("p");// 通过类名获取,记得加点var qname = document.querySelector(".name");// 通过id获取,记得加#var info = document.querySelector("#info");// 获取匹配到的所有元素,返回数组var all = document.querySelectorAll("p");
  2. console.log(p);
  3. console.log(qname);
  4. console.log(info);for(let i =0; i < all.length; i++){
  5. console.log(all[i]);}</script></body>

在这里插入图片描述

可以看到,使用html5新增的api,很灵活,所以我很喜欢用这个,也推荐大家使用


5. 特殊元素获取 🚥

除此之外,还有一些特殊元素有自己的获取方法,比如body,html元素

获取 body 元素 ✨

语法:

  1. document.body;

实例:

  1. <body><script>var body = document.body;
  2. console.log(body);</script></body>

在这里插入图片描述
可以看到,成功获取到了body元素的所有内容


获取 html 元素 ✨

语法:

  1. document.documentElement;

实例:

  1. <body><script>var html = document.documentElement;
  2. console.log(html);</script></body>

在这里插入图片描述
可以看到,整个网页 html 都被获取到了,OK,到此为止,获取DOM就告一段落了,下面开始动态创建添加dom的学习


在这里插入图片描述

创建添加 DOM

说白了,操作dom,和玩数据一样,增删改查,而创建添加就相当于增,我们在添加数据时,首先得有数据,然后再添加,DOM操作也是一样,首先要创建DOM,然后告诉它要添加在哪里呀,最终完成操作,下面就学习如何创建dom,and ,如何添加 dom

动态创建 DOM 🚥

很简单,不要怕哦,哈哈

语法:

  1. document.createElement("元素名");

实例:
假如要动态的创建一个元素

  1. p

,可以这样写,其他也是一样,举一反三

  1. var p = document.createElement("p");

动态添加 DOM 🚥

添加dom这里将两种,根据情况使用,一种是在父元素的子元素末尾追加,一种是指定子元素之后追加

末尾追加 ✨

语法:

  1. node.appendChild(child);

实例:

  1. <body><div><ahref="">百度一下</a></div><script>var p = document.createElement("p");
  2. p.innerText ="我就是p"var div = document.querySelector("div");
  3. div.appendChild(p);</script></body>

在这里插入图片描述

动态创建元素p段落标签,并写入文字“我就是p”,最后获取div元素,并将p追加为div的孩子,这种追加方式是在末尾追加,因此效果如上图所示

指定元素后追加 ✨

语法:

  1. node.insertBefore(child, 指定元素);

实例:

  1. <body><div><ahref="">百度一下</a><span>我是span弟弟</span></div><script>var p = document.createElement("p");
  2. p.innerText ="我就是p"var div = document.querySelector("div");var a = document.querySelector("a");// 在div下创建p,位置在a元素之前
  3. div.insertBefore(p, a);</script></body>

在这里插入图片描述

这就完了?对啊,你以为呢?是不是很简单呢,简单就对了,剩下的就是要多练习了,好,进入下一环节,如何修改 DOM 呢?打起精神,小周在盯着你呢,哈哈


在这里插入图片描述

修改 DOM

总结如下:

在这里插入图片描述

例子1:获取页面的p标签,并将内容改为 “周棋洛”

  1. <body><div><p></p></div><script>var p = document.querySelector("p");
  2. p.innerText ="周棋洛";</script></body>

例子2:点击按钮生成百度的超链接

  1. <body><div><buttononclick="createBaidu()">点击生成百度超链接</button></div><script>functioncreateBaidu(){var div = document.querySelector("div");var a = document.createElement("a");
  2. a.href ="https://www.baidu.com";
  3. a.innerText ="百度一下,你就知道";
  4. div.append(a);}</script></body>

在这里插入图片描述

例子3:点击按钮,p标签内文字颜色变绿,手动狗头

  1. <body><div><buttononclick="changeColor()">点击变绿</button><p>我一会就变绿</p></div><script>functionchangeColor(){var p = document.querySelector("p");
  2. p.style.color ="green";}</script></body>

在这里插入图片描述


在这里插入图片描述

删除 DOM

node.removeChild() 方法从 DOM 中删除一个子节点,返回删除的节点

语法:

  1. node.removeChild(child);

案例:

  1. <body><div><buttononclick="removeP()">点击移除p</button><p>我是p,一会就时间到了</p></div><script>functionremoveP(){var p = document.querySelector("p");var div = document.querySelector("div");
  2. div.removeChild(p);}</script></body>

在这里插入图片描述


OK,你真棒,从此玩转 dom 吧


在这里插入图片描述

彩蛋-上百度热搜

1.首先打开百度的网站

2.打开开发者工具,点击小手,找到热搜在页面的位置,OK,我找到的如下所示,注意这里的类名重点

  1. title-content-title

要使用

3.打开控制台,使用类名获取它,修改

  1. document.querySelector(".title-content-title").innerText ="周棋洛";

成功了,好了,这就是本文的全部内容了,我是小周,原创不易,如果觉得文章写的不错,还请点赞关注支持我呀,你的支持是我创作的动力,拜拜了ヾ(•ω•`)o

在这里插入图片描述

标签: javascript dom 前端

本文转载自: https://blog.csdn.net/m0_53321320/article/details/125244294
版权归原作者 王 子 所有, 如有侵权,请联系我们删除。

“一篇玩转DOM,顺便上个百度热搜【收藏版】”的评论:

还没有评论