案例-任务清单

devtools/2024/12/22 19:26:24/

文章目录

  • 效果展示
    • 初始化面
    • 演示画面
  • 代码区

效果展示

初始化面

在这里插入图片描述

演示画面

任务清单

代码区

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>任务清单</title><style>css">* {margin: 0px;padding: 0px;}body {width: 400px;margin: 0px auto;/*上下 左右*/}.total {display: flex;}.input {width: 300px;height: 50px;margin-top: 20px;}.createTask {height: 50px;color: white;background-color: orange;border-color: white;}.createTask:hover {background-color: grey;}.createTask:active {background-color: green;}h3 {width: 180px;color: white;background-color: black;text-align: center;margin-top: 5px;}.contain {margin-top: 2px;}</style>
</head><body><div><input class="input" type="text"><button class="createTask" onclick="creatAssign()">新建任务</button></div><div class="total"><div class="disready"><h3>未完成</h3><!-- <div class="contain"><input type="checkbox"><span>测试案例</span><button>删除</button></div> --></div><div class="ready"><h3>已完成</h3></div></div>
</body>
<script>javascript">function creatAssign() {// 找到祖父let disready = document.querySelector('.disready')let ready = document.querySelector('.ready')// 创建父节点let divParent = document.createElement('div')// 创建子节点let checkSon = document.createElement('input')let spanSon = document.createElement('span')let butSon = document.createElement('button')// 获取任务输入内容let inputTask = document.querySelector('.input')let inputMessage = inputTask.valueconsole.dir(inputTask)console.log(inputMessage)if (inputMessage == "") return// 赋值spanSon.innerHTML = inputMessagebutSon.innerHTML = "删除"// 插入父节点中去checkSon.type = "checkbox"divParent.appendChild(checkSon)divParent.appendChild(spanSon)divParent.appendChild(butSon)console.log(divParent)// cssdivParent.className = "contain"// 插入祖父结点disready.appendChild(divParent)// 遍历删除按键let buttonDeleteAll = document.querySelectorAll(".contain button")for (i = 0; i < buttonDeleteAll.length; ++i) {buttonDeleteAll[i].onclick = function () {let parentNode = this.parentNodelet grandNode = parentNode.parentNodegrandNode.removeChild(parentNode)}}// 遍历复选框let buttonSelectAll = document.querySelectorAll(".contain input")for (i = 0; i < buttonSelectAll.length; ++i) {buttonSelectAll[i].onclick = function () {let selectValue = this.checkedlet parentNode = this.parentNodeif (selectValue) {// true 插入完成列表ready.appendChild(parentNode)} else {// falsedisready.appendChild(parentNode)}}}}</script></html>

http://www.ppmy.cn/devtools/123375.html

相关文章

gitSVN提交规范

commit message subject &#xff1a; 空格 message 主体 例如&#xff1a; feat&#xff1a;增加用户注册功能 常见的 subject 种类以及含义如下&#xff1a; feat: 新功能&#xff08;feature&#xff09; 用于提交新功能。 例如&#xff1a;feat: 增加用户注册功能 f…

unreal engine5制作动作类游戏时,我们使用刀剑等武器攻击怪物或敌方单位时,发现攻击特效、伤害等没有触发

UE5系列文章目录 文章目录 UE5系列文章目录前言一、问题分析二、解决方法1. 添加项目设置碰撞检测通道2.玩家角色碰撞设置3.怪物角色碰撞预设 最终效果 前言 在使用unreal engine5制作动作类游戏时&#xff0c;我们使用刀剑等武器攻击怪物或敌方单位时&#xff0c;发现攻击特效…

PHP反射

文章目录 介绍基本用法基本的反射示例1. 反射类2. 反射方法3. 反射属性4.反射全局函数5.反射函数的参数 优势和注意事项优势&#xff1a;注意事项&#xff1a; 介绍 PHP反射是一种强大的机制&#xff0c;允许在运行时检查类、接口、方法、属性等的结构和元数据。它可以用于许多…

datagrip 显示注释

view -> Appearance -> details in tree view

Spring对IOC的实现

控制反转IOC 控制反转是一种思想 控制反转是为了降低程序耦合度&#xff0c;提高程序扩展力&#xff0c;达到OCP原则&#xff0c;达到DIP原则 控制反转&#xff0c;反转是什么&#xff1f; - 将对象的创建权利交出去&#xff0c;交给第三方容器负责 - 将对象和对象之间关系的…

leetcode-10/9【堆相关】

1.数组中的第K个最大元素【215】 思路&#xff1a; 1.1.要使得时间复杂度为O(n)&#xff0c;自己实现大顶堆&#xff0c;通过K次调整&#xff0c;顶部元素就是想要的第K个最大元素 1.2.实现大顶堆的过程中&#xff0c;先建堆&#xff0c;建堆是利用递归&#xff0c;本…

前端学习第二天笔记 CSS选择 盒子模型 浮动 定位 CSS3新特性 动画 媒体查询 精灵图雪碧图 字体图标

CSS学习 CSS选择器全局选择器元素选择器类选择器ID选择器合并选择器 选择器的优先级字体属性背景属性文本属性表格属性表格边框折叠边框表格文字对齐表格填充表格颜色 关系选择器后代选择器子代选择器相邻兄弟选择器通用兄弟选择器 CSS盒子模型弹性盒子模型父元素上的属性flex-…

【分布式微服务云原生】掌握分布式缓存:Redis与Memcached的深入解析与实战指南

掌握分布式缓存&#xff1a;Redis与Memcached的深入解析与实战指南 摘要&#xff1a; 本文深入探讨了分布式缓存在现代分布式系统中的重要性&#xff0c;详细分析了Redis和Memcached两种主流的分布式缓存解决方案的原理和使用场景。文章不仅提供了核心技术的深入解析&#xff…