JavaScript-DOM节点的相关操作

发布于:2022-12-31 ⋅ 阅读:(440) ⋅ 点赞:(0)

目录

1.获得DOM节点

2.更新DOM节点

3.删除DOM节点

4.创建和插入DOM节点


1.获得DOM节点

DOM:文档对象模型

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

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

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

获得Dom节点:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="father">
    <h1>标题一</h1>
    <p id="p1">p1</p>
    <p class="p2">p2</p>
</div>

<script>
<!--    对应css选择器-->
    var h1=document.getElementsByTagName('h1');
    var p1=document.getElementById('p1');
    var p2=document.getElementsByClassName('p2');
    var father=document.getElementById('father');
    //获取父节点下的所有子节点
    var children=father.children;
    // father.firstChild 获取第一个节点
    // father.lastChild 获取最后一个节点
</script>
</body>
</html>

这是原生代码,之后我们尽量都使用 jQuery();

2.更新DOM节点

先拿到 id1

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

更新 id1 

innerText:修改文本的值

innerHTML :可以解析HTML文本标签

操作js

3.删除DOM节点

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

删掉节点 p1:

<div id="father">
    <h1>标题一</h1>
    <p id="p1">p1</p>
    <p class="p2">p2</p>
</div>

<script>
    var self=document.getElementById('p1');
    var father=p1.parentElement;
    father.removeChild(selt);
</script>

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

4.创建和插入DOM节点

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

追加append

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<p id="js">JavaScript</p>
<div id="list">
    <p id="me">JavaME</p>
    <p id="ee">JavaEE</p>
    <p id="se">JavaSE</p>
</div>
<script>
    var js = document.getElementById('js');
    var list = document.getElementById('list');

</script>
</body>
</html>

 另一种方式,创建一个新的标签实现插入:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<p id="js">JavaScript</p>
<div id="list">
    <p id="me">JavaME</p>
    <p id="ee">JavaEE</p>
    <p id="se">JavaSE</p>
</div>
<script>
    var js = document.getElementById('js');//已存在的节点
    var list = document.getElementById('list');
    //通过js创建一个新的节点
    var newP=document.createElement('p');//创建一个p标签
    //设置id
    newP.id='newP';
    newP.innerText='Hello,biubiu';
    list.appendChild(newP)
</script>
</body>
</html>

 创建一个标签节点(通过这个属性,可以设置任意的值)

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="" type="text/css">
    <script type="text/javascript" src=""></script>
</head>
<body>
<p id="js">JavaScript</p>
<div id="list">
    <p id="me">JavaME</p>
    <p id="ee">JavaEE</p>
    <p id="se">JavaSE</p>
</div>
<script>
    var js = document.getElementById('js');//已存在的节点
    var list = document.getElementById('list');
    //通过js创建一个新的节点
    var newP=document.createElement('p');//创建一个p标签
    //newP.setAttribute('id','newP');
    //设置id
    newP.id='newP';
    newP.innerText='Hello,biubiu';
    list.appendChild(newP);
    //创建一个标签节点
    var myScript = document.createElement('script');
    myScript.setAttribute('type','text/javascript');
</script>
</body>
</html>

创建一个标签更改网页背景:

    //可以创建一个style标签
    var myStyle = document.createElement('style');
    myStyle.setAttribute('type','text/css');
    myStyle.innerHTML = 'body{background-color:chartreuse;}';//设置标签内容
    document.getElementsByTagName('head')[0].appendChild(myStyle);

插在前面 insertBefore

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="" type="text/css">
    <script type="text/javascript" src=""></script>
</head>
<body>
<p id="js">JavaScript</p>
<div id="list">
    <p id="me">JavaME</p>
    <p id="ee">JavaEE</p>
    <p id="se">JavaSE</p>
</div>
<script>
    var ee = document.getElementById('ee');
    var js = document.getElementById('js');
    var list = document.getElementById('list');
//要包含的节点.insertBefore(newNode,targetNode)
    list.insertBefore(js,ee);
</script>
</body>
</html>

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到