[前端] todoList制作

2024-04-28 05:20

本文主要是介绍[前端] todoList制作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

知识点回顾

  1. 后代选择器 可以使用多个选择器每个选择器之间用空格分开。只要是后代就会被选择如
<style>div a{color: red;}
</style>
<div><a href="">我是儿子</a><p><a href="">我是孙子</a></p>
</div>

此时两个超链接都会变色
2. 子代选择器 可以使用多个选择器每个选择器之间用 > 分割。只有子代才会被选择

<style>div>a{color: red;}
</style>
<div><a href="">我是儿子</a><p><a href="">我是孙子</a></p>
</div>

第一个超链接才会变成红色
3. 如何去除html自带的 li 的样式

li {list-style:none;
}
  1. 如果一个div盒子有高度,如何让里面的文字垂直居中
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>测试input checkbox的label</title><style>div{height: 40px;border: 1px solid pink;line-height: 40px;}</style>
</head>
<body><div>真的笑不出来了</div><script></script>
</body>
</html>

使用 line-height 即可。
5. 插入一个节点,使用document.createElement("<tagName>") 使用 append 表示在尾后插入一个子节点,使用prepend 表示在头部插入一个子节点。
after 则是在这个节点后插入一个兄弟节点,before 则是在这个节点前面插入一个兄弟节点。删除节点很爽不需要知道这个节点的父节点是什么直接调用remove()方法即可。

<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>插入删除节点例子</title>
</head>
<body><button id="id_btn_add">点击增加节点</button><button id="id_btn_delete">点击删除节点(删除年级)</button><ul><li>一年级<ul><li>小明</li><li>小红</li></ul></li><li>二年级<ul><li>老王</li><li>杰哥</li></ul></li></ul><script>let btnAdd = document.querySelector("#id_btn_add");btnAdd.addEventListener("click", e => {let ulEle = document.querySelector("body>ul");let liEle = document.createElement("li");liEle.innerHTML = '三年级<ul><li>翠翠</li><li>兰兰</li></ul>';ulEle.append(liEle);let test = document.querySelectorAll("body>ul>li");let grandLiEle = test[0].querySelectorAll("ul>li")[0];let newLiEle = document.createElement("li");newLiEle.innerHTML = "八戒";grandLiEle.after(newLiEle);});let btnDele = document.querySelector("#id_btn_delete");btnDele.addEventListener("click", e => {let liNodeList = document.querySelectorAll("body>ul>li");if(liNodeList.length > 0){liNodeList[liNodeList.length - 1].remove();}else{alert("没有元素可以删除了");}});</script>
</body>
</html>
  1. 事件的冒泡,冒泡这个特性还是经常用到的,真正产生事件的html元素通过 event.target来获取。获取到对应的html元素后,就可以有很多操作了,如 parentNode 来获取该元素的父亲元素。nodeName 来获取节点名称等等
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>事件的冒泡</title><style>div{height: 60px;border: 1px solid pink;}</style>
</head>
<body><div class="wrapper" id="id_box"><ul><li>我是小明</li></ul></div><script>let divEle = document.querySelector("#id_box");divEle.addEventListener("click", event => {console.log(event.target);});</script>
</body>
</html>
  1. html中并没有什么直接方法来获取 ul 或者 ol 下面 li的数量。还是得通过querySelectorAll()接口来获取
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>事件的冒泡</title><style>div{height: 60px;border: 1px solid pink;}</style>
</head>
<body><button id="id_btn">获取li的数量</button><ul><li>小红</li><li>大白</li><li>丽丽</li></ul><script>let btnEle = document.querySelector("#id_btn");let ulEle = document.querySelectorAll("body>ul>li");btnEle.addEventListener("click", event => {console.log(ulEle.length);});</script>
</body>
</html>
  1. 正则表达式向后向前环视,(首先书上写JavaScript不支持环视,但是现在JavaScript是支持的)。
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>正则表达式环视</title><style>div{height: 60px;border: 1px solid pink;}</style>
</head>
<body><script>let str = "已完成8/全部10";let str1 = "https://www.forta.com";let complete = str.match(/(?<=已完成)[0-9]+/);let total = str1.match(/\w+(?=:)/);console.log(complete[0]);console.log(total[0]);</script>
</body>
</html>

环视挺好用的

这篇关于[前端] todoList制作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/942411

相关文章

Vue3使用router,params传参为空问题

《Vue3使用router,params传参为空问题》:本文主要介绍Vue3使用router,params传参为空问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录vue3使用China编程router,params传参为空1.使用query方式传参2.使用 Histo

CSS Padding 和 Margin 区别全解析

《CSSPadding和Margin区别全解析》CSS中的padding和margin是两个非常基础且重要的属性,它们用于控制元素周围的空白区域,本文将详细介绍padding和... 目录css Padding 和 Margin 全解析1. Padding: 内边距2. Margin: 外边距3. Padd

CSS will-change 属性示例详解

《CSSwill-change属性示例详解》will-change是一个CSS属性,用于告诉浏览器某个元素在未来可能会发生哪些变化,本文给大家介绍CSSwill-change属性详解,感... will-change 是一个 css 属性,用于告诉浏览器某个元素在未来可能会发生哪些变化。这可以帮助浏览器优化

CSS去除a标签的下划线的几种方法

《CSS去除a标签的下划线的几种方法》本文给大家分享在CSS中,去除a标签(超链接)的下划线的几种方法,本文给大家介绍的非常详细,感兴趣的朋友一起看看吧... 在 css 中,去除a标签(超链接)的下划线主要有以下几种方法:使用text-decoration属性通用选择器设置:使用a标签选择器,将tex

前端高级CSS用法示例详解

《前端高级CSS用法示例详解》在前端开发中,CSS(层叠样式表)不仅是用来控制网页的外观和布局,更是实现复杂交互和动态效果的关键技术之一,随着前端技术的不断发展,CSS的用法也日益丰富和高级,本文将深... 前端高级css用法在前端开发中,CSS(层叠样式表)不仅是用来控制网页的外观和布局,更是实现复杂交

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

在React中引入Tailwind CSS的完整指南

《在React中引入TailwindCSS的完整指南》在现代前端开发中,使用UI库可以显著提高开发效率,TailwindCSS是一个功能类优先的CSS框架,本文将详细介绍如何在Reac... 目录前言一、Tailwind css 简介二、创建 React 项目使用 Create React App 创建项目

vue使用docxtemplater导出word

《vue使用docxtemplater导出word》docxtemplater是一种邮件合并工具,以编程方式使用并处理条件、循环,并且可以扩展以插入任何内容,下面我们来看看如何使用docxtempl... 目录docxtemplatervue使用docxtemplater导出word安装常用语法 封装导出方

Vue中组件之间传值的六种方式(完整版)

《Vue中组件之间传值的六种方式(完整版)》组件是vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用,针对不同的使用场景,如何选择行之有效的通信方式... 目录前言方法一、props/$emit1.父组件向子组件传值2.子组件向父组件传值(通过事件形式)方

css中的 vertical-align与line-height作用详解

《css中的vertical-align与line-height作用详解》:本文主要介绍了CSS中的`vertical-align`和`line-height`属性,包括它们的作用、适用元素、属性值、常见使用场景、常见问题及解决方案,详细内容请阅读本文,希望能对你有所帮助... 目录vertical-ali