zoukankan      html  css  js  c++  java
  • 原生JavaScript实现一个简单的todo-list

    直接上代码:

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title></title>
    	<style>
    
    	</style>
    </head>
    <body>
    	<h1>todolist</h1>
    	<input type="text">
    	<ul>
    
    	<ul>
    	<script>
    		var oInput = document.getElementsByTagName("input")[0];
    
    		oInput.onkeydown = function(event) {
    
    			var event = event || window.event;
    			if(event.keyCode == 13) {
    				// 添加数据
    				var data = this.value;
    				addData(data);
    				// 清空数据
    				clearData();
    			}
    		}
    
    		// 模糊查询
    		oInput.oninput = function() {
    			var arrLi = document.getElementsByTagName("li");
    			var arr = [];
    			
    			for(var i = 0;i < arrLi.length;i++) {
    				if(arrLi[i].firstChild.innerHTML.trim().indexOf(this.value.trim()) != -1) {
    					arr.push(i);
    				}
    			}
    			// show
    			show(arr);
    		};
    
    
    		function show(arr) {
    			var arrLi = document.getElementsByTagName("li");
    			// 隐藏所有
    			for(var i = 0;i < arrLi.length;i++) {
    				arrLi[i].style.display = "none";
    			}
    
    			// 显示
    			if(arr.length > 0) {
    				for(var i = 0;i < arr.length;i++) {
    					arrLi[arr[i]].style.display = "block";
    				}
    			} else {
    				for(var i = 0;i < arrLi.length;i++) {
    					arrLi[i].style.display = "block";
    				}
    			}
    
    		}
    
    		function addData(data)  {
    			var tempLi = document.createElement("li");
    			var tempBtn = document.createElement("button");
    			var tempSpan = document.createElement("span");
    			var oUl = document.getElementsByTagName("ul")[0];
    
    			tempBtn.innerHTML = "delete";
    			tempBtn.name = "delete";
    			tempSpan.innerHTML = data;
    			tempLi.appendChild(tempSpan);
    			tempLi.appendChild(tempBtn);
    			oUl.appendChild(tempLi);
    		}
    
    		function clearData() {
    			var oInput = document.getElementsByTagName("input")[0];
    
    			// 不能用innerHTML
    			oInput.value = "";
    		}
    
    		// 点击删除
    		var oUl = document.getElementsByTagName("ul")[0];
    		oUl.onclick = function(event) {
    			var event = event || window.event;
    			var target = event.target;
    
    			if(target.name == "delete") {
    				target.parentNode.parentNode.removeChild(target.parentNode);
    			}
    		};
    
    	</script>
    </body>
    </html>
    
  • 相关阅读:
    LOJ#6501. 「雅礼集训 2018 Day4」Cube 题解
    LOJ#6510. 「雅礼集训 2018 Day8」A 题解
    LOJ#6513. 「雅礼集训 2018 Day10」足球大战 题解
    LOJ#6507. 「雅礼集训 2018 Day7」A 题解
    LOJ#6038. 「雅礼集训 2017 Day5」远行 题解
    Luogu P4208 [JSOI2008]最小生成树计数
    CodeForces 916D Jamie and To-do List
    CodeForces 573B Bear and Blocks
    CodeForces 460C Present
    CodeForces 786B Legacy
  • 原文地址:https://www.cnblogs.com/yzfdjzwl/p/6675551.html
Copyright © 2011-2022 走看看