前端学习6——自学习梳理

dom操作:让js和Html真正交互起来

dom(document object model)

内含利用dom操作进行河北大学网页的简单设计()

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><!-- defer延迟加载 只适用于外引--><script src="js/dom操作.js" defer></script><link rel="stylesheet" href="css/下拉框样式.css"><style>.aaa {background: red;color: blue;}</style><!-- <script>// 延迟加载window.onload = function() {var aa = document.querySelector("div")console.log(aa)}</script> -->
</head><body><div></div><!-- <div id="test" class="demo">hello</div><div class="demo">hello</div><span class="demo">demo</span><span class="demo">demo</span><p class="demo">hihih</p><p class="demo">hihih</p><h2>hh</h2> --><!-- <div class="demo"><ul><li>hello1</li><li>hello2</li>aaaaaaa<li id="test"><p>hhhh</p><h2>aaaa</h2><span>tttt</span></li>bbbbbbb<li>hello4</li><li>hello5</li></ul></div> --><!-- <div class="parent"><h3>aaa</h3><span>demo</span><p>ccc</p></div> --><!-- 下拉框开始 --><div class="container"><ul class="main"><li><a href="#">首页</a></li><li><a href="#">学校概况</a><ul><li><a href="#">学校简介</a></li><li><a href="#">学校章程</a></li><li><a href="#">历任领导</a></li><li><a href="#">现任领导</a></li><li><a href="#">校园风光</a></li></ul></li><li><a href="#">机构设置</a><ul><li><a href="#">学校简介</a></li><li><a href="#">学校章程</a></li><li><a href="#">历任领导</a></li><li><a href="#">现任领导</a></li><li><a href="#">校园风光</a></li><li><a href="#">历任领导</a></li><li><a href="#">现任领导</a></li><li><a href="#">校园风光</a></li></ul></li><li><a href="#">学科专业</a><ul><li><a href="#">学校简介</a></li><li><a href="#">学校章程</a></li></ul></li><li><a href="#">招生信息</a><ul><li><a href="#">学校简介</a></li><li><a href="#">学校章程</a></li><li><a href="#">历任领导</a></li><li><a href="#">现任领导</a></li></ul></li></ul></div><!-- 下拉框结束 --></body></html>
// document object model
// 增删改查// 一、查找
// 1、根据id值查找元素 getElementById() 返回的是符合条件的第一个对象
// var aa = document.getElementById("test")
// 2、根据class值查找元素  getElementsByClassName() 返回的是符合条件的对象组成的数组
// var aa = document.getElementsByClassName("demo")
// 3、根据元素名称查找元素  返回的是符合条件的对象组成的数组
// var aa = document.getElementsByTagName("h2")   //"div"
// 4、根据选择器查找元素  querySelector() 返回的是符合条件的第一个对象
// var aa = document.querySelector("div")
// 5、根据选择器查找元素 querySelectorAll() 返回的是符合条件的对象组成的数组
// var aa = document.querySelectorAll("div")// console.log(aa)// 根据关系做查找
// var aa = document.getElementById("test")// 找父亲:parentElement parentNode
// 找孩子:children childNodes
// 第一个孩子:firstElementChild  firstChild
// 最后一个孩子:lastElementChild  lastChild
// 上一个元素:previousElementSibling  previousSibling
// 下一个元素:nextElementSibling nextSibling
// console.log(aa)
// console.log(aa.nextSibling)//二、修改// var aa = document.querySelector("div")
// console.log(aa)
// console.dir(aa)// 1、改内容
// innerHTML把修改的内容当作标签处理
// innerText 当作文本处理
// value 修改收集用户信息的标签值
// aa.innerHTML = "<span>hhh</span>"
// 2、改属性
// 原生属性 对象.属性
// aa.className = 'hhhh'
// aa.id = 'aaaa'
// 自定义属性 设置属性setAttribute(属性名,属性值)  获取属性值 getAttribute(属性名)
// aa.setAttribute('index', 'aaaaaaaaa')
// console.log(aa.getAttribute("index"))
// 3、改样式 对象.style.属性 = 值
// aa.style.color = "blue"
// aa.style.background = "red"
// aa.style.fontSize = "50px"
// aa.style.cssText = "color:blue;background:red;font-size:60px"
// aa.className = 'aaa'// 三、删除 父级元素调用removeChild(目标元素)进行删除// var father = document.querySelector("body")
// var aa = document.querySelector("div")
// father.removeChild(aa)// var aa = document.querySelector("div")
// aa.parentElement.removeChild(aa)// 四、添加
// 1、创建元素 
// ①、创建元素 createElement()
// var newNode = document.createElement("div")
// console.log(newNode)
// newNode.innerHTML = '新添加的元素'
// newNode.style.cssText = "color:blue;background:red;font-size:60px"
// newNode.id = 'ppp'
// ②、复制元素 cloneNode()  false浅复制 true复制全部
// var demo = document.querySelector(".demo")
// var newNode = demo.cloneNode(true)// 2、添加元素
// ①、appendChild()添加在子元素的最后一个位置
// ②、insertBefore(新元素,目标位置元素)添加到指定元素前边
// ③、replaceChild(新元素,被替换掉的元素) 替换指定元素
// var aa = document.querySelector(".parent")
// var span = document.querySelector("span")// aa.appendChild(newNode)
// aa.insertBefore(newNode, span)
// aa.replaceChild(newNode, span)// eg: 下拉框
// var li_list = document.querySelectorAll(".main>li")
// console.log(li_list)
// for (var i = 0; i < li_list.length; i++) {
//     li_list[i].onmouseenter = function() {
//         if (this.querySelector("ul")) {
//             this.querySelector("ul").style.display = 'block'
//         }//     }
//     li_list[i].onmouseleave = function() {
//         if (this.querySelector("ul")) {
//             this.querySelector("ul").style.display = 'none'
//         }//     }
// }

下拉框样式.css

* {margin: 0;padding: 0;
}/* 颜色的表示方式:
1、英文名称 pink red yellow
2、# 六位十六进制的数据表示颜色  0~f  三原色混合 红 绿 蓝 
3、rgb(red, green, blue)  0~255 三原色混合 红 绿 蓝
4、rgba(red, green, blue,alpha)  0~255 三原色混合 红 绿 蓝  alpha透明度 0-1
*/.container {background: #48dbfb;
}.main {width: 50%;margin: 50px auto;display: flex;justify-content: space-between;
}.main>li {padding: 5px;list-style: none;           position: relative;
}.main li {list-style: none;           /*列表样式去掉*/
}.main li a {color: black;/* 去掉下划线 */text-decoration: none;
}.main ul {/*释放空间*/position: absolute;/* 元素隐藏 none  显示bolck*/display: none;     background: #48dbfb;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/875376.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FreeBSD掉电导致ZFS无法识别,无法启动系统

一台FreeBSD系统的机器&#xff0c;前段时间刚刚新加载了第二快硬盘&#xff0c;具体操作见&#xff1a;FreeBSD在zfs挂接第二块ssd 硬盘_zfs不能attach附加硬盘-CSDN博客 问题&#xff1a;FreeBSD在一次掉电后&#xff0c;系统无法启动 启动时显示 FreeBSD/x86 boot Defau…

网络战时代的国家安全:策略、技术和国际合作

网络战时代的国家安全涉及到策略、技术和国际合作等多个方面。以下是对这些问题的简要概述&#xff1a; 网络战策略 网络战策略是指在现代战争中&#xff0c;通过网络技术进行的信息收集、处理、分析、调度和指挥等一系列行动&#xff0c;旨在同时影响和干扰对方的网络系统&am…

HarmonyOS鸿蒙应用开发-ZRouter让系统路由表变得更简单

介绍 ZRouter是基于Navigation系统路由表和Hvigor插件实现的动态路由方案。 系统路由表是API 12起开始支持的&#xff0c;可以帮助我们实现动态路由的功能&#xff0c;其目的是为了解决多个业务模块&#xff08;HAR/HSP&#xff09;之间解耦问题&#xff0c;从而实现业务的复…

【前端】[Spring] Spring Web MVC基础理论

[Spring] Spring Web MVC基础理论 Spring Web MVC&#xff08;简称Spring MVC&#xff09;是Spring框架中用于构建Web应用程序的一个模块&#xff0c;它实现了MVC&#xff08;Model-View-Controller&#xff09;设计模式。以下是对Spring Web MVC基础理论的详细解释&#xff1…

Redis高可用技术之持久化

一、Redis高可用 在web服务器中&#xff0c;高可用是指服务器可以正常访问的时间&#xff0c;衡量的标准是一年有多少秒可以提供正常服务&#xff08;99.9%、99.99%、99.999%等&#xff09;。但是在Redis语境中&#xff0c;高可用的含义似乎要宽泛一些&#xff0c;除了保证提供…

【CSS】响应式设计

响应式设计是指通过⼀些技术⼿段&#xff0c;使得⽹站或应⽤在不同终端设备&#xff08;如桌⾯电脑、平板电脑、⼿机等&#xff09;上能够⾃适应地呈现最佳的⽤户体验。 ⼀种实现⽅式是使⽤流体⽹格布局和百分⽐尺⼨等技术&#xff0c;以便根据设备屏幕的宽度和⾼度等信息⾃适…

ubuntu24.04中Osdlyrics报错:canberra-gtk-module和daemon: GDBus.Error:org

OSD Lyrics 是一个桌面应用程序&#xff0c;用于查看与各种媒体播放器兼容的歌词&#xff08;比如Linux下最好的音乐播放器&#xff1a;audacious&#xff09;。它不是一个插件&#xff0c;而是一个独立的程序。OSD Lyrics在您的桌面上显示歌词&#xff0c;风格类似于KaraOK。它…

MySQL InnoDB事务隔离和并发控制面试题详解

1. 为什么 MySQL 使用 B+ 树作为索引而不是 B 树? MySQL 选择使用 B+ 树作为索引主要有以下几个原因: 减少 IO 次数,提高效率:B+ 树的所有数据都存储在叶子节点,非叶子节点只存储索引,树的高度较低,因此查找路径较短,减少了磁盘 IO 次数。查询效率更加稳定:由于数据仅…

Hyper-V 安装 CentOS 8.5

前言 Hyper-V安装文档:在 Windows 10 上安装 Hyper-VCentOS 系统下载:CentOS 国内镜像源 8.5.2111作者:易墨发布时间:2023.10.01原文地址:https://www.cnblogs.com/morang/p/devops-hyperv-centos-install.html使用命令安装 以管理员身份运行 PowerShell 命令: Enable-…

【机器学习】机器学习的基本知识点(包括背景、定义、具体内容、功能、使用场景、操作、未来发展和常见算法)

引言 机器学习是一门涉及多个领域的交叉学科&#xff0c;它主要研究如何让计算机模拟或实现人类的学习行为&#xff0c;以获取新的知识或技能&#xff0c;从而改善系统性能。它是人工智能的核心部分&#xff0c;并且与概率论、统计学、逼近论、凸分析、算法复杂度理论等多个学科…

c++初阶知识——string类详解

目录 前言&#xff1a; 1.标准库中的string类 1.1 auto和范围for auto 范围for 1.2 string类常用接口说明 1.string类对象的常见构造 1.3 string类对象的访问及遍历操作 1.4. string类对象的修改操作 1.5 string类非成员函数 2.string类的模拟实现 2.1 经典的string…

TSMC常见工艺库中7t/9t track的选择

在TSMC的工艺库中&#xff0c;"7T" 和 "9T" 是指标准单元库的轨道&#xff08;track&#xff09;数。轨道数&#xff08;track count&#xff09;通常是指每个单元的高度&#xff0c;这个高度决定了布线资源的密度和灵活性。 例如tcbn22ullbwp7t30p140_11…

GAMES104:05游戏引擎中的渲染系统2:渲染中的光照、材质和shader-学习笔记

文章目录 一、渲染方程及其挑战二、基础光照解决方案-简化版简化光源简化材质简化阴影 三、基于预计算的全局光照3.1挑战和计算思路傅里叶变换球谐函数&#xff08;Spherical Harmonics&#xff09; 3.2 SH Lightmap&#xff1a;预计算 GI3.3 探针 Probe&#xff1a;Light Prob…

无涯·问知财报解读,辅助更加明智的决策

财报解读就像是给公司做一次全面的体检&#xff0c;是理解公司内部运作机制和市场表现的一把钥匙&#xff0c;能够有效帮助投资者、分析师、管理层以及所有市场参与者判断一家公司的健康程度和发展潜力。 星环科技无涯问知的财经库内置了企业年报及财经类信息&#xff0c;并对…

Java中的equals()与==的区别与用法

1. 区别 “”操作符用于比较两个对象的地址是否相等。.equals() 方法用于比较两个对象的内容是否相等。 Object 类的 .equals() 方法默认采用的是“”操作符进行比较。假如子类没有重写该方法的话&#xff0c;那么“”操作符和 .equals() 方法的功效就完全一样——比较两个对…

探索AI全栈工程师之路:大模型应用开发基础

探索AI全栈工程师之路&#xff1a;大模型应用开发基础 作为AI领域的一名工程师&#xff0c;我深知掌握AI技术的重要性。随着人工智能技术的飞速发展&#xff0c;AI全栈工程师成为了炙手可热的职业。在本文中&#xff0c;我将结合《大模型应用开发基础》这份教学材料&#xff0…

Linux:传输层(1) -- UDP协议

1. 端口号 同一台主机的不同端口号(Port)标记了主机上不同的进程&#xff0c;如下图所示&#xff1a; 在 TCP/IP 协议中 , 用 " 源IP", "源端口号", "目的IP", "目的端口号", "协议号" 这样一个五元组来标识一个通信 ( 可…

学习笔记10:bos、cos和对象存储 的区别

bos、cos和对象存储 的区别 BOS&#xff08;Baidu Object Storage&#xff09;、COS&#xff08;Cloud Object Storage&#xff09;和对象存储&#xff08;Object Storage&#xff09;是几种不同的云存储服务&#xff0c;它们在功能、提供商和使用场景上有一些区别。下面我将详…

SwiftUI革新:Xcode UI开发的新纪元

SwiftUI革新&#xff1a;Xcode UI开发的新纪元 SwiftUI作为Apple推出的声明式UI框架&#xff0c;彻底改变了在Xcode中构建用户界面的方式。它不仅简化了代码&#xff0c;还提高了开发效率&#xff0c;并且使得UI设计更加直观和灵活。本文将深入探讨如何在Xcode中使用SwiftUI进…

制作excel模板,用于管理后台批量导入船舶数据

文章目录 引言I 数据有效性:基于WPS在Excel中设置下拉框选择序列内容II 数据处理:基于easyexcel工具实现导入数据的持久化2.1 自定义枚举转换器2.2 ExcelDataConvertExceptionIII 序列格式化: 基于Sublime Text 文本编辑器进行批量字符操作引言 需求: excel数据导入模板制…