Web前端 JavaScript笔记4

1、元素内容

属性名称说明
元素名.innerText输出一个字符串,设置或返回元素中的内容,不识别html标签
元素名.innerHTML输出一个字符串,设置或返回元素中的内容,识别html标签
元素名.textContent设置或返回指定节点的文本内容,不识别html标签

方法:

元素名.document.write():向文档写入指定内容。

元素名.document.writeln():向文档写入指定内容并换行。

<!DOCTYPE html>
<head><meta charset="UTF-8"><title>Document</title><style>div{height: 100px;width: 250px;font-size: 20px;line-height: 100px;text-align: center;display: inline-block;}.it{background-color: aqua;}.ih{background-color: red;color: white;}.tc{background-color: yellow;}</style>
</head>
<body><div class="it">innerText</div><div class="ih"></div><div class="tc">textContent</div><script>let it=document.querySelector(".it")let ih=document.querySelector(".ih")let tc=document.querySelector(".tc")it.innerText='<i>innerText</i>'ih.innerHTML='<i>innerHTML</i>'//为他们增加倾斜效果tc.textContent='<i>TextContent</i>'</script>
</body>
</html>

我们发现只有inner HTML识别倾斜标签 

 写入文档就是写入网页里

<body><h2>注意write()方法不会在每个语句后面新增一行:</h2><pre><script>document.write("哈哈哈哈哈哈");document.write("666666");</script></pre><h2>注意writeln()方法在每个语句后面新增一行:</h2><pre><script>document.writeln("哈哈哈哈哈哈");document.writeln("666666");</script></pre>
</body>

 

练习 

<body><div></div><script>let arr = ["zhangsan", "lisi", "王麻子", "王总"]function get_random(n, m) {return Math.floor(Math.random() * ((m - n) + 1)) + n}// 1、获取元素const box = document.querySelector("div")// 2、产生随机数let random = get_random(0, arr.length - 1)// 3、更换div中的内容box.innerText = arr[random]</script></body>

 


 

2、更改属性

对象.属性 = 值

<body><form action=""><input type="button" name="" id=""></form><script>const ipt = document.querySelector("input")ipt.type = "password"</script>
</body>

本来是按钮,但是属性值被改成密码了 

 

  •  像是checked这样的属性名=属性值的属性,js在进行赋值时,通过true/false去控制属性值
  • 比如说下面的例子,男的选择按钮我在input属性里用checked默认选中,女孩相反,利用更改属性值,使女的选择按钮默认选中,男相反
<body><form action=""><input type="checkbox" checked name="sex" value="nan">男<input type="checkbox" name="sex" value="nv">女</form><script>document.querySelector("input[value='nv']").checked="ture"document.querySelector("input[value='nan']").checked=false</script>
</body>

 


 

3、更改style样式

①、对象.style.样式 = ""

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>.box{width: 200px;height: 200px;background-color: greenyellow;border: 3px solid yellow;border-radius: 50%;}
</style>
</head>
<body><div class="box"></div><script>// 1、获取元素const b = document.querySelector(".box")// 2、对象.style.样式 = ""b.style.backgroundColor="red"</script>
</body>
</html>

更改了属性,使原来绿色的背景色,变成了红色 

 ②、利用className=" "

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>div{width: 100px;height: 100px;background-color: greenyellow;border-radius: 50%;}.box{width: 200px;height: 200px;background-color: aqua;border-radius: 50%;}
</style>
</head>
<body><div></div><script>// 1、获取元素const b = document.querySelector("div")// 2、classnameb.className="box"</script>
</body>
</html>

利用ClassName为div盒子添加类名,从而更改样式 

③、利用ClassList(" ")

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>div{width: 100px;height: 100px;background-color: yellow;border-radius: 30%;}.box{width: 200px;height: 200px;background-color: aqua;border-radius: 30%;}.bb{border:5px dashed red;}
</style>
</head>
<body><div class="bb"></div><script>// 1、获取元素const b = document.querySelector("div")// 2、classListb.classList.add("box")b.classList.remove("bb")</script>
</body>
</html>

利用.bb类名为盒子设置红色边框, 使用 b.classList.remove("bb"),移除.bb类名

利用b.classList.add("box")增添box类名,改变背景色与大小的属性

补充:

如果类名存在,则移除,如果不存在,则添加

         box.classList.toggle("box1")


 

4、查找节点

 对象.属性

属性说明
parentNode

可返回某节点的父节点。如果指定的节点没有父节点则返回 null 。

children

children 属性返回元素的子元素的集合,是一个 HTML收集 对象。

提示: 根据子元素在元素中出现的先后顺序进行排序。使用 HTML收集对象的 length属性获取子元素的数量,然后使用序列号(index,起始值为0)访问每个子元素。

childNodes

childNodes 属性返回包含被选节点的子节点的 NodeList。

提示: 如果选定的节点没有子节点,则该属性返回不包含节点的 NodeList。

nextElementSibling

返回指定元素之后的下一个兄弟元素

previousElementSibling

返回指定元素的前一个元素。

nextSibling

返回选定元素的下一个同级节点

children 属性与 childNodes属性的差别:

  • childNodes 属性返回所有的节点,包括文本节点、注释节点;
  • children 属性只返回元素节点;

nextSibling 属性与 nextElementSibling 属性的差别:

  • nextSibling 属性返回元素节点之后的兄弟节点(包括文本节点、注释节点);
  • nextElementSibling 属性只返回元素节点之后的兄弟元素节点(不包括文本节点、注释节点);
  <script>console.log(1)console.log(document.querySelector(".son").parentNode)console.log(2)console.log(document.querySelector(".father").children)console.log(3)console.log(document.querySelector(".father").childNodes)// 查找兄弟jiedianconsole.log(4)console.log(document.querySelector(".son").nextElementSibling)console.log(5)console.log(document.querySelector(".son1").previousElementSibling)console.log(6)console.log(document.querySelector(".son").nextSibling)</script>

 


 

5、事件监听

①、事件源.on+事件类型=匿名函数

同一个事件源,后面注册的事件会对前面注册的事件进行覆盖

<body><button>点击</button><div></div><script>const button = document.querySelector("button")const box = document.querySelector("div")button.onclick = function () {box.style.backgroundColor = "yellow"}button.onclick = function () {box.innerHTML='<b>6666</b>'}</script></body>
没有加 第二个功能块 的时候的时候加 上第二个功能块之后

去除监听:

事件源.on+事件类型=null

②、事件源.addEventListener("事件类型",行为,【是否捕获】)

是否捕获是true或者false,选填

方法为元素附加事件处理程序而不会覆盖已有的事件处理程序。

<body><button>点击</button><div></div><script>// 事件监听    不会覆盖button.addEventListener("click",()=>{box.style.backgroundColor = "yellow"}, true)button.addEventListener("click",()=>{box.innerHTML='<b>6666</b>'}, true)
</script>
</body>
没有加 第二个功能块 的时候的时候加 上第二个功能块之后

去除监听:

事件源.removeEventListener("事件", 行为,【是否捕获】)

6、练习

<!DOCTYPE html>
<html><meta charset="UTF-8" /><title></title><style type="text/css">* {margin: 0;padding: 0;}ul {list-style: none;}.wrapper {width: 1000px;height: 475px;margin: 0 auto;margin-top: 100px;}.tab {border: 1px solid #ddd;border-bottom: 0;height: 36px;width: 320px;}.tab li {position: relative;float: left;width: 80px;height: 34px;line-height: 34px;text-align: center;cursor: pointer;border-top: 4px solid #fff;}.tab span {position: absolute;right: 0;top: 10px;background: #ddd;width: 1px;height: 14px;overflow: hidden;}.products {width: 1002px;border: 1px solid #ddd;height: 476px;}.products .main {float: left;display: none;width: 1000px;height: 480px;}.products .main:nth-child(1) {background-color: pink;}.products .main:nth-child(2) {background-color: rgb(236, 5, 44);}.products .main:nth-child(3) {background-color: rgb(59, 13, 228);}.products .main:nth-child(4) {background-color: rgb(49, 216, 7);}.products .main.active {display: block;}.tab li.active {border-color: red;border-bottom: 0;}</style>
</head><body><div class="wrapper"><ul class="tab"><li class="tab-item active">国际大牌<span>◆</span></li><li class="tab-item">国妆名牌<span>◆</span></li><li class="tab-item">清洁用品<span>◆</span></li><li class="tab-item">男士精品</li></ul><div class="products"><div class="main active"></div><div class="main"></div><div class="main"></div><div class="main"></div></div></div><script>// 获取元素对象let lis = document.querySelectorAll(".tab .tab-item")let divs = document.querySelectorAll(".products .main")//遍历for (let i = 0; i < lis.length; i++) {// li添加事件监听lis[i].addEventListener("click", function () {document.querySelector(".tab .active").classList.remove("active")lis[i].classList.add("active")document.querySelector(".products .active").classList.remove("active")divs[i].classList.add("active")})}</script></body></html>

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

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

相关文章

贝叶斯公式中的先验概率、后验概率、似然概率

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和技术。关…

Jackson 2.x 系列【24】Spring Web 集成之 Jackson2ObjectMapperBuilder

有道无术&#xff0c;术尚可求&#xff0c;有术无道&#xff0c;止于术。 本系列Jackson 版本 2.17.0 源码地址&#xff1a;https://gitee.com/pearl-organization/study-jaskson-demo 文章目录 1. 前言2. Spring Web3. Jackson2ObjectMapperBuilder3.1 成员属性3.2 静态方法3…

实现名校愿望|在站博士后赴英国剑桥大学做访问学者

国内博士后若再有国外名校背景加持&#xff0c;将会提升日后高校就职的准入门槛分量。为此&#xff0c;我们为Y博士申请到世界顶尖名校-英国剑桥大学的邀请函&#xff0c;在斩获学术成果的同时&#xff0c;也为出站后进入国内高校就职积累更丰富的背景。 Y博士背景&#xff1a;…

如何在CentOS本地部署FastDFS文件系统并实现无公网IP远程上传下载内网文件

文章目录 前言1. 本地搭建FastDFS文件系统1.1 环境安装1.2 安装libfastcommon1.3 安装FastDFS1.4 配置Tracker1.5 配置Storage1.6 测试上传下载1.7 与Nginx整合1.8 安装Nginx1.9 配置Nginx 2. 局域网测试访问FastDFS3. 安装cpolar内网穿透4. 配置公网访问地址5. 固定公网地址5.…

在一台恢复测试机器上验证oracle备份有效性

一 目的 定期将生产环境oracle数据库恢复到一台测试环境数据库服务器上&#xff0c;以验证备份是否有效&#xff0c;是否能正常恢复。 二 环境 这里以恢复orcl1库为例&#xff0c;计划在orcl这个实例上进行恢复测试。 三 实验步骤 3.1 在目标端创建和源端一样的备份目录 ①…

Pygame经典游戏:贪吃蛇

------------★Pygame系列教程★------------ Pygame经典游戏&#xff1a;贪吃蛇 Pygame教程01&#xff1a;初识pygame游戏模块 Pygame教程02&#xff1a;图片的加载缩放旋转显示操作 Pygame教程03&#xff1a;文本显示字体加载transform方法 Pygame教程04&#xff1a;dra…

「 网络安全常用术语解读 」软件成分分析SCA详解:从发展背景到技术原理再到业界常用检测工具推荐

软件成分分析&#xff08;Software Composition Analysis&#xff0c;SCA&#xff09;是一种用于识别和分析软件内部组件及其关系的技术&#xff0c;旨在帮助开发人员更好地了解和管理其软件的构建过程&#xff0c;同时可帮助安全人员揭秘软件内部结构的神秘面纱。SCA技术的发展…

罗芬COHERENT pmb激光电源维修HPC830

Rofin激光电源 PMB高压电源维修:HPC625,HPC520,HPC210,HPC840,HPC830,HPC810,HPC818,HPC818 HPC814 HPC910等型号。 大型设备往往都配有功能较为故障诊断程序&#xff0c;我们可以充分利用软件的提示&#xff0c;缩小故障排查范围&#xff0c;但有时诊断软件提示的受损元件是否…

UE5 GAS开发P32,33 初始化状态并绑定在HUD上,拾取物品增加血量和减少蓝量

这节课主要是修改WidgetController和OverlayController,在EffectActor内新增了一个减少蓝量的代码,同时修复了一个bug,并且展示了为什么要写成单独的控制器,因为要考虑多人游戏的情况,每一个控制器都是一个单独的角色 首先修改AuraAttirbuteSet.cpp UAuraAttributeSet::UAura…

【C++】unordered_map unordered_set 底层刨析

文章目录 1. 哈希表的改造2. unordered_map3. unordered_set C STL 库中&#xff0c;unordered_map 和 unordered_set 容器的底层为哈希表&#xff0c;本文将简单模拟哈希表&#xff08;哈希桶&#xff09;&#xff0c;unordered_map 和 unordered_set 只需封装哈希表的接口即可…

kylin Firefox Warning: Potential Security Risk Ahead

Warning: Potential Security Risk Ahead &#xfeff; Firefox detected a potential security threat and did not continue to 127.0.0.1. If you visit this site, attackers could try to steal information like your passwords, emails, or credit card details. 警告&…

java实现简单图书管理系统(附带源码)

项目要求 该项目会用到类和对象&#xff0c;封装、继承、多态、接口、等&#xff0c;会帮你巩固并加强这类知识 设计要求及思路 1.要求有两套系统分别给管理员和普通用户使用&#xff0c;经过开始的选择会有两个对应功能不同的菜单&#xff0c;这里两种角色我们可以放一个包…

华为ensp中nat地址转换(静态nat 动态nat NAPT 和Easy IP)配置命令

作者主页&#xff1a;点击&#xff01; ENSP专栏&#xff1a;点击&#xff01; 创作时间&#xff1a;2024年4月15日12点03分 实验拓扑 接下来我会分几个方面初步将静态nat和napt easy ip 首先基本的环境配置 AR1的基本配置 //基本的IP配置和默认路由指向外网 <Huawei&…

神仙级Python入门教程(超级详细),从零基础入门到精通,从看这篇开始

一、初聊Python 1.为什么要学习Python&#xff1f; 在学习Python之前&#xff0c;你不要担心自己没基础或“脑子笨”&#xff0c;我始终认为&#xff0c;只要你想学并为之努力&#xff0c;就能学好&#xff0c;就能用Python去做很多事情。在这个喧嚣的时代&#xff0c;很多技…

Java反序列化-(LazyMap)CC1链与CC6链

(LazyMap)CC1链 原版的CC1链&#xff1a; https://github.com/frohoff/ysoserial/blob/master/src/main/java/ysoserial/payloads/CommonsCollections1.java可以发现对比之前的 TransformMap版本的CC1链&#xff0c;从这里开始就不一样了 分析LazyMap.get() 直接进入到Laz…

OnlyOffice配置minio文件存储

OnlyOffice配置minio文件存储 一、部署minio测试环境 拉取minio镜像 为了快速验证&#xff0c;此处使用docker安装部署minio服务。先拉取minio最新版镜像资源。 -bash-4.2# docker pull minio/minio:latest -bash-4.2# docker images | grep minio minio/minio …

企业业务系统与呼叫中心话务系统的无缝对接实现方案

在当今的商业环境中&#xff0c;企业的业务系统与呼叫中心话务系统的对接显得尤为重要。这种对接不仅提高了企业的运营效率&#xff0c;还增强了客户服务的体验。本文将探讨如何实现企业业务系统与呼叫中心话务系统的无缝对接&#xff0c;并分析其带来的好处。 一、对接的必要性…

用html写一个有趣的鬼魂动画

<!DOCTYPE html> <html lang"en" > <head><meta charset"UTF-8"><title>一个有趣的鬼魂动画</title><link rel"stylesheet" href"https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.m…

2024第十五届蓝桥杯 JAVA B组

目录 前言&#xff1a;试题 A: 报数游戏试题 B: 类斐波那契循环数试题C:分布式队列 前言&#xff1a; 没参加这次蓝桥杯算法赛&#xff0c;十四届蓝桥杯被狂虐&#xff0c;对算法又爱又恨&#xff0c;爱我会做的题&#xff0c;痛恨我连题都读不懂的题&#x1f62d;,十四届填空只…

如何在Linux系统部署Joplin笔记并结合内网穿透实现无公网IP远程访问

文章目录 1. 安装Docker2. 自建Joplin服务器3. 搭建Joplin Sever4. 安装cpolar内网穿透5. 创建远程连接的固定公网地址 Joplin 是一个开源的笔记工具&#xff0c;拥有 Windows/macOS/Linux/iOS/Android/Terminal 版本的客户端。多端同步功能是笔记工具最重要的功能&#xff0c;…