当前位置: 首页 > news >正文

JS08-DOM节点完整版

DOM节点

查找节点

父节点

    <div class="father"><div class="son">儿子</div></div><script>let son = document.querySelector('.son')console.log(son.parentNode);son.parentNode.style.display = 'none'</script>

通过子节点来修改父节点的样式

子节点

    <button>点击</button><ul><li>我是孩子</li><li>我是孩子</li><li>我是孩子</li><li>我是孩子</li><li>我是孩子</li><li>我是孩子</li></ul><script>let btn = document.querySelector('button')let ul = document.querySelector('ul')btn.addEventListener('click',function(){for (let i = 0; i < ul.children.length; i++){ul.children[i].style.color = 'red'}})console.log(ul.childNodes);</script>

在这里插入图片描述

通过父节点修改子节点的样式

兄弟节点

    <button>点击</button><ul><li>1</li><li class="two">1</li><li>1</li><li>1</li></ul><script>let btn = document.querySelector('button')let two = document.querySelector('.two')btn.addEventListener('click', function(){two.style.color = 'red'two.nextElementSibling.style.color = 'blue'two.previousElementSibling.style.color = 'yellow'})</script>

nextElementSibling:下一个元素

previousElementSibling:上一个元素

节点操作

追加节点

    <ul><li>Zero</li></ul><script>let ul = document.querySelector('ul')let li = document.createElement('li')li.innerHTML = 'colors'ul.insertBefore(li, ul.children[0])// li.innerHTML = 'z'// ul.appendChild(li)</script>

HTML文档中动态地创建一个新的<li>元素,并将其插入到已有的无序列表(<ul>)中。

  1. 首先,通过document.querySelector('ul')选取页面上的第一个无序列表元素并将其赋值给变量ul
  2. 接着,使用document.createElement('li')创建一个新的<li>元素,并将其赋值给变量li
  3. 然后,设置新创建的<li>元素的innerHTML属性为 'colors',这样该<li>元素的内容就变成了 “colors”。
  4. 最后,使用ul.insertBefore(li, ul.children[0])将新创建的li元素插入到了ul元素的第一个子元素(在这里是"Zero"这个<li>元素)之前。这意味着最终的HTML结构将是:
<ul><li>colors</li><li>Zero</li>
</ul>

克隆节点

    <ul><li>内容</li></ul><script>let ul = document.querySelector('ul')let newul = ul.cloneNode(true)document.body.appendChild(newul)</script>

删除节点

   <button>点击</button><ul><li>11111111</li><li>11111111</li><li>11111111</li><li>11111111</li></ul><script>let btn = document.querySelector('button')let ul = document.querySelector('ul')btn.addEventListener('click',function(){ul.removeChild(ul.children[0])})</script>

删除子节点

案例

微博案例

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>* {margin: 0;padding: 0;}ul {list-style: none;}.w {width: 900px;margin: 0 auto;}.controls textarea {width: 878px;height: 100px;resize: none;border-radius: 10px;outline: none;padding-left: 20px;padding-top: 10px;font-size: 18px;}.controls {overflow: hidden;}.controls div {float: right;}.controls div span {color: #666;}.controls div .useCount {color: red;}.controls div button {width: 100px;outline: none;border: none;background-color: rbg(0, 132, 255);height: 30px;cursor: pointer;columns: #fff;font: bold 14px '宋体';transition: all 0.5s;}.controls div button :hover {background: rgb(0, 255, 255);}.controls div button :disabled {background: rgba(0, 255, 255, 0.5);}.contentList li {padding: 20px 0;border-bottom: 1px dashed #ccc;position: relative;}.contentList .info {position: relative;}.contentList li .info span {position: absolute;top: 15px;left: 100px;font: bold 16px '宋体';}.contentList li .info p {position: absolute;top: 40px;left: 100px;color: #aaa;font-size: 12px;}.contentList img {width: 80px;
http://www.lryc.cn/news/325212.html

相关文章:

  • 【python】python3基础
  • 计算机三级网络技术 选择+大题234笔记
  • 智能合约 之 ERC-721
  • == 和 equals 的区别是什么?
  • VUE:内置组件<Teleport>妙用
  • ruoyi-nbcio-plus后端里mapstruct-plus和lombok的使用
  • 企业如何选择一个开源「好」项目?
  • c++算法学习笔记 (14) 并查集
  • import * as的使用
  • 微服务(基础篇-003-Nacos)
  • java数据结构与算法刷题-----LeetCode215. 数组中的第K个最大元素
  • Springboot 整合 Knife4j (API文档生成工具)
  • C语言---------strlen的使用和模拟实现
  • 【MATLAB源码-第168期】基于matlab的布谷鸟优化算法(COA)机器人栅格路径规划,输出做短路径图和适应度曲线。
  • 集合深入------理解底层。
  • 【阅读笔记】《硬笔书法艺术》
  • 5.5.5、【AI技术新纪元:Spring AI解码】使用PGvector设置向量存储及进行相似性搜索
  • EDR下的线程安全
  • 洛谷刷题 | B3623 枚举排列
  • 程序员35岁会失业吗?
  • RabbitMQ 安装保姆级教程
  • 【MySQL】InnoDB引擎
  • 小白如何兼职赚得第一桶金?六大网络赚钱方式助你轻松开启副业之旅
  • 富格林:出金不顺谨防虚假受害
  • Saltstack 最大打开文件数问题之奇怪的 8192
  • Appium Inspector 展示设备当前页面
  • PyQt:实现菜单栏的点击拖动效果
  • 力扣--并查集547.省份数量
  • leetcode35-Search Insert Position
  • API 接口渗透测试