首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用 HTML、CSS 和 Vanilla JavaScript 以及本地存储创建待办事项应用程序

每个任务将包含以下元素: 用于将任务标记为完成的单选按钮 用于显示任务的 span 元素 一个编辑按钮和一个删除按钮 使用 CSS 设计样式 我们将从主体样式开始,以确保所有元素水平居中: body {...使用 forEach 迭代每个按钮 对于每个按钮,我们使用最接近按钮的 li 元素this.closest("li)(其中 this 指的是单击的按钮)。...最后,我们使用以下代码更新当前 li 元素的 span 内容:contentElement.textContent = new Task; 现在,如果您单击任何任务的编辑按钮,您应该会看到此提示。...将删除线 CSS 类添加到当前 li 元素的范围 使用该findIndex()方法从数组中获取当前任务的索引allTasks,然后将按钮的状态更新为选中。...创建一个名为 的函数loadFromStorage()。该函数将检查本地存储中是否有任务,如果找到,任务将使用该函数呈现在页面上renderTasks()。

14110

CSS3选择器详解

的作用 1、检查页面的标签是否闭合 不要小看这条,也许折腾了你两天都没有解决的 CSS BUG 问题,却仅仅源于这里。...2、样式排除法 有些复杂的页面也许加载了 N 个外链 CSS 文件,那么逐个删除 CSS 文件,找到 BUG 触发的具体 CSS 文件,缩小锁定的范围。   ...对于刚才锁定的问题 CSS 样式文件,逐行删除具体的样式定义,定位到具体的触发样式定义,甚至是具体的触发样式属性。   3、模块确认法 有时候我们也可以从页面的 HTML 元素出发。...删除页面中不同的 HTML 模块,寻找到触发问题的 HTML 模块。   4、检查是否清除浮动 其实有不少的 CSS BUG 问题是因为没有清除浮动造成的。...5、检查 IE 下是否触发 haslayout 很多的 IE 下复杂 CSS BUG 都与 IE 特有的 haslayout 息息相关。

2.1K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    前端如何提高用户体验:增强可点击区域的大小

    作者:Ahmad Shadded 译者:前端小智 来源:css-tricks 你是否曾经试着点击或点击一个元素(例如:按钮、链接),并且注意到只有单击该元素的特定区域,它才会响应?...在下面的图中,我模拟了两个按钮的不同情况。在左侧,按钮更小,更远,用户需要更多的时间与它互动。在右侧,按钮大小更大,更接近于它的同级输入元素,这将使交互更容易、更快。 ?...复选框和单选按钮 当存在复选框或单选按钮元素时,我希望可以单击它或关联的标签来激活/禁用它。 ? 从用户体验的角度来看,这是难以访问和糟糕的。...解决方法: 删除li>元素的 padding,并将其移动到元素 通过添加display: block使a标签的宽度等于其父链接的宽度。...这个想法是,伪元素属于其父元素,因此当我们创建具有特定宽度和高度的伪元素时,它将充当其父元素的单击/触摸/悬停区域。

    4.8K20

    如何在 React 中点击显示或隐藏另一个组件?

    然后,我们在组件的返回值中渲染一个按钮和一个条件渲染的 div 元素。当用户单击按钮时,onClick 事件处理函数会调用 setIsVisible 函数,并将 !...然后,我们编写了一个名为 handleClickOutside 的事件处理函数,它将检查用户单击的元素是否在菜单之外。如果用户单击的元素不在菜单中,则将可见性设置为 false,菜单将被隐藏。...显示/隐藏模态框我们可以使用事件处理函数来触发模态对话框的显示或隐藏。当用户单击打开模态框的按钮时,模态框应该出现;当用户单击关闭按钮或模态框之外时,模态框应该消失。...然后,我们编写了一个名为 handleClickOutside 的事件处理函数,它将检查用户单击的元素是否在模态对话框之外。...如果用户单击的元素不在模态对话框中,则将可见性设置为 false,模态对话框将被隐藏。否则,模态对话框保持可见。我们还添加了一个关闭按钮,用于关闭模态对话框。

    5.1K10

    前端系列第2集-如何让事件先冒泡后获取?

    例如,如果有一个包含多个按钮的列表,并且希望在单击每个按钮时执行相同的操作,可以将单击事件监听器添加到列表元素上,并使用事件对象来获取单击的按钮。...    }   }); 在这个例子中,我们使用事件委托将单击事件监听器添加到列表元素上,并在事件处理程序中检查被单击的元素是否为按钮。...以下是一个使用事件委托的案例代码演示,该代码演示了如何在单击多个按钮时执行相同的操作: HTML 代码:   li>Button 1...myList 元素上,并使用 if 语句检查被单击的元素是否为按钮。...如果是,我们就会在控制台中记录被单击的按钮的文本内容。由于我们使用了事件委托,因此无论用户单击哪个按钮,事件处理程序都会在 myList 元素上执行,并且事件对象中包含有关被单击的按钮的信息。

    20620

    Selenium Python使用技巧(二)

    如果您想基于特定种类的Web元素(如Tag,Class,ID等)的存在来执行条件执行,则可以使用find_elements _ *** API。...首先,我们找到菜单项,然后在所需的菜单项上执行单击操作。 在下面的示例中,在导航到主页上的“Automation”选项卡。第一个任务是Menu中找到某个元素 。...像下拉菜单处理一样,我们使用find_element_by_xpath()方法找到所需的复选框,一旦找到该复选框,就会执行单击操作。 我们将使用Selenium自动化测试,并且选中的复选框。...它通过CSS Selector在该元素的子元素中找到元素列表。...目的是使用find_elements_by_css_selector()在https://***.com/上找到“登录”按钮并执行单击操作。与登录相关的代码如下。代码检查工具快照还提供了所需的信息。

    6.4K30

    Web前端三剑客学习笔记

    maxlength type为text 或 password 时,输入的最大字符数。 checked type为radio或checkbox时,指定按钮是否是被选中。...} 对带有指定属性的元素设置样式 标签选择器 适用于标签中的所有元素 body {font-style: italic;} 4.1 id选择器 可以为标有特定 id 的 HTML 元素指定特定的样式...localeCompare() 用本地特定的顺序来比较两个字符串。 match() 找到一个或多个正则表达式的匹配。 replace() 替换与正则表达式匹配的子串。...trim() 方法用于删除字符串的头尾空格。 JavaScript RegExp 对象 方法 描述 compile 编译正则表达式。 exec 检索字符串中指定的值。返回找到的值,并确定其位置。...将星号变为灰色,见图1; (2) 当用户单击“注册”按钮时,读取用户的姓名、学号、性别、住址和爱好信息,然后使用确认消息对话框显示这些信息,并提示用户是否继续提交,见图2; 如果继续,则对表单数据做如下检验

    2.2K60

    【译】使用Enzyme和React Testing Library测试React Hooks

    浅渲染允许我们检查组件的渲染方法是否被调用——这是我们想要确认的,因为这里我们需要证明组件渲染。...这将调用removeTodo()方法,该方法将删除被单击的item。然后检查我们拥有的item的数量,并且返回的的值。 这四个测试的源代码可以在GitHub上找到。...我们使用getTestId来返回元素的与data-testid匹配的节点。在这个例子里是元素。然后,我们检查它总共有两个子元素(每个子元素是无序列表中的li>元素)。...deleteButton[0]; fireEvent.click(first); expect(todos.children.length).toBe(1); }); 我们使用getallbyTestId返回删除按钮的节点...因为我们只想删除一个项目,所以我们对集合中的第一个项目触发一个click事件,它应该删除第一个待办事项。这应该使待办事项子节点的长度等于1。 这些测试也可以在GitHub上找到。

    4.1K30

    事件高级

    DOM事件流 html中的标签都是相互嵌套的,我们可以将元素想象成一个盒子装一个盒子,document是最外面的大盒子。 当你单击一个div时,同时你也单击了div的父元素,甚至整个页面。 ​...那么是先执行父元素的单击事件,还是先执行div的单击事件 ??? 事件流描述的是从页面中接收事件的顺序。 事件发生时会在元素节点之间按照特定的顺序传播,这个传播过程即DOM事件流。...事件对象 什么是事件对象 官方解释: event对象代表事件的状态,比如键盘按键的状态鼠标的位置、鼠标按钮的状态。...常情况下terget 和 this是一致的, 但有一种情况不同,那就是在事件冒泡时(父子元素有相同事件,单击子元素,父元素的事件处理函数也会被触发执行), 这时候this指向的是父元素,因为它是绑定事件的元素对象...以上案例:给ul注册点击事件,然后利用事件对象的target来找到当前点击的li ,因为点击li,事件会冒泡到ul上, ul有注册事件,就会触发事件监听器。

    1.4K20

    GitLab 是如何用 Headless Chrome 测试的

    但是,有一些缺陷: PhantomJS(v2.1.1)的最新版本是用三年前的QtWebKit(https://trac.webkit.org/wiki/QtWebKit)(Webkit V538.1的一个分支版本...我们还删除了一些相当丑陋且特殊的PhantomJS hacks,Jasmine需要内嵌浏览器的功能。...;在执行破坏性操作(如删除分支或从组中删除用户)时单击事件。在Poltergeist下,一个.click动作会自动点击alert()和confirm()的模态框。...这搜索表单的布局被破坏,实际上是在“Update all”按钮的顶部放置了一个不可见的元素,使其无法点击。Poltergeist提供了一个.trigger('click')的方法来解决这个问题。.../响应方法丢失 Poltergeist非常方便是因为有page.status_code和page.response_headers,这些方法也出现在Capybara默认的RackTest驱动程序中,使检查服务器的原始响应变得容易

    3.2K80

    杨老师课堂之Jquery的筛选,事件,效果,Ajax,javascript跨域)

    (1算起) first(),获取第一个元素 last(),获取最后个元素 hasClass(class),检查当前的元素是否含有某个特定的类,如果有,则返回true。...map(callback),将一组元素转换成其他数组(不论是否是元素数组) has(expr|ele),保留包含特定后代的元素,去掉那些不含有指定后代的元素。...map(callback),将一组元素转换成其他数组(不论是否是元素数组) has(expr|ele),保留包含特定后代的元素,去掉那些不含有指定后代的元素。...可以用同样的方法解决 元素上的问题 阻止默认行为 网页中的元素都有自己默认的行为,例如:单击超链接后悔跳转,单击”提交”按钮会表单会提交,有时需要阻止元素的默认行为 在jquery中,提供了preventDefault...举一个例子,在项目中,经常需要验证表单,在单击”提交”按钮是,验证表单内容,例如元素是否是必填字段,某元素长度是否够6位,单表单不符合提交条件时,要阻止表单的提交 eg: $(“#sub”).bind(

    8.3K20

    ❤️用一万字给小白全面讲解python编程基础问答❤️《记得收藏不然看着看着就不见了》

    编译器将源码编译成字节码,特定平台上的虚拟机器将字节码转译为可以直接执行的指令。字节码的典型应用为Java bytecode。...python解释器查找变量时,会按照顺序依次查找局部作用域—>嵌套作用域—>全局作用域—>内建作用域,在任意一个作用域中找到变量则停止查找,所有作用域查找完成没有找到对应的变量,则抛出 NameError...3.python总是首先札沼对应类型的方法,如果不能在派生类中找到对应的方法,它才开始到基类中逐个查找。 ?...这里使用的是方法二 li = [1, 2, 3, 4, 5] count = 0 for i in range(len(li)): # 循环找出百位 x = str(li.pop(i))...for j in range(len(li)): # 在列表剩下的数中寻找十位 y = str(li.pop(j)) for k in range(len(li)): #

    93420

    关于“Python”的核心知识点整理大全60

    建立简单的用户身份验证和注册系统后,你通过使用装饰器@login_required禁止未登录的用 户访问特定页面。...在本章中,我们就该如何保护用户数据所做的决策表明,与人 合作开发项目是个不错的主意:有人对项目进行检查的话,更容易发现其薄弱环节。 至此,我们创建了一个功能齐备的项目,它运行在本地计算机上。...要查看Bootstrap提供的模板,可访问http://getbootstrap.com/,单击Getting Started, 再向下滚动到Examples部分,并找到Navbars in action...选 择器决定了特定样式规则将应用于页面上的哪些元素。 在2处,这个模板定义了一个按钮,它将在浏览器窗口太窄、无法水平显示整个导航栏时显 示出来。...如果用户单击这个按钮,将出现一个下拉列表,其中包含所有的导航元素。在用户缩小 浏览器窗口或在屏幕较小的移动设备上显示网站时,collapse会使导航栏折叠起来。

    13610

    一篇文章带你了解CSS Pseudo-classes(伪类 )

    这些伪类更改了响应用户操作呈现链接的方式。 : hover 当可被用于在用户将鼠标悬停在按钮上时改变按钮的颜色用。 : active 当元素被激活或单击时适用。...ol li:first-child在下面的示例中,选择器选择一个有序列表的第一个列表项,并从其顶部删除边框。...ul li:last-child例中的选择器从无序列表中选择最后一个列表项,并从其中删除右边框。... : nth-child伪类 CSS3引入了一个新的:nth-child伪类,使可以将给定父元素的一个或多个特定子对象作为目标。...提示: CSS :nth-child(N)选择器在必须选择以特定间隔或模式(例如在偶数或奇数位置等)出现在文档树内的元素的情况下非常有用。

    2K10

    jQuery的基本操作

    =value] //概述 //匹配所有不含有指定的属性,或者属性不等于特定的值· //次选择器等价于:not([attr=value])要匹配含有特定属性但不等于特定值的元素,请使用[attr]:not...参数class描述 删除匹配元素的所有类 jQuery代码 $("p").removeClass(); 回调函数描述: 删除最后一个元素上与前面重复的class jQuery代码 $("li:last...描述 删除匹配元素的所有类 jQuery代码 $("p").removeClass(); 回调函数的描述 删除最后一个元素上与前面重复的class jQuery代码 $("li:last")...(添加)一个类· class CSS类名 class,switch 1·要切换的CSS类名 2·用于决定元素是否包含class的布尔值 switch 用于决定元素是否包含class的布尔值·...ul> jQuery代码 $("li").last() 结果 [li>list item3li>]   has //概述 //检查当前的元素是否含有某个特定的类,如果有,则返回true

    7.5K20

    20个 CSS 快速提升技巧

    大多数项目并不需要这些库包含的所有规则,可以通过一条简单的规则来应用于布局中的所有元素,删除所有的margin、padding改变浏览器默认的盒模型。...solid #666; }.nav li:last-child { border-right: none; } 这是一种很混乱的方式,它不仅强制浏览器以一种方式渲染,然后又通过特定的选择器来撤销它...如果owl选择器过于通用,请在元素内使用通用选择器(*)为布局的特定部分创建一致的垂直节奏: .intro > * { margin-bottom: 1.25rem; } 10、对更漂亮的换行文本使用...说到链接样式,您可以在几乎每个样式表中找到一个通用的A样式。...这迫使您为子元素中的任何链接编写额外的覆盖和样式规则,并且在使用像WordPress这样的CMS时,可能会导致您的主链接样式比按钮文本颜色更容易出现问题。

    3.3K20
    领券