表格的一些原生js操作(隔行变色,高亮显示,添加删除,搜索)
看着网上的视频教程,虽说还是有点简单,但还是不免想记录下。这些操作包括(隔行变色,高亮显示,添加删除,搜索功能),而这儿就是涉及table的原有属性“tBodies” “rows” “cells”等几个方法,search方法,
split方法等等
效果体验:http://runjs.cn/detail/vm8bz8dl
<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> <script> window.onload = function(){ var tb = document.getElementById(‘tb‘); //alert(tb.getElementsByTagName(‘tbody‘)[0].getElementsByTagName(‘tr‘)[1].getElementsByTagName(‘td‘)[1].innerHTML); //alert(tb.tBodies[0].rows[1].cells[1].innerHTML); //表格隔行变色和鼠标滑过高亮 var oldColor = ‘‘; //保存原有的背景色 for (var i=0;i<tb.tBodies[0].rows.length;i++) { tb.tBodies[0].rows[i].style.background = i%2 ? ‘#CCC‘: ‘‘; tb.tBodies[0].rows[i].onmouseover = function(){ oldColor = this.style.background; this.style.background = ‘yellow‘; } tb.tBodies[0].rows[i].onmouseout = function(){ this.style.background = oldColor; } }; //添加和删除 var oBtn = document.getElementById(‘btn1‘); var oTxt = document.getElementById(‘txt1‘); var iNowId = tb.tBodies[0].rows.length+1; oBtn.onclick = function(){ var oTr = document.createElement(‘tr‘); var oTd = null; oTd = document.createElement(‘td‘); oTd.innerHTML = iNowId++; oTr.appendChild(oTd); oTd = document.createElement(‘td‘); oTd.innerHTML = oTxt.value; oTr.appendChild(oTd); oTd = document.createElement(‘td‘); oTd.innerHTML =‘<a href="javascript:void(0);">删除</a>‘; oTr.appendChild(oTd); oTd.getElementsByTagName(‘a‘)[0].onclick = function(){ tb.tBodies[0].removeChild(this.parentNode.parentNode); } tb.tBodies[0].appendChild(oTr); } //搜索功能(应该算是精确搜索) var oBtn2 = document.getElementById(‘btn2‘); var oTxt2 = document.getElementById(‘txt2‘); oBtn2.onclick=function(){ for(var i=0;i<tb.tBodies[0].rows.length;i++){ var sValueInTb = tb.tBodies[0].rows[i].cells[1].innerHTML.toLowerCase(); var sValueInTxt = oTxt2.value.toLowerCase().split(‘ ‘); if(sValueInTb==sValueInTxt){ tb.tBodies[0].rows[i].style.background = ‘red‘; } else{ tb.tBodies[0].rows[i].style.background = ‘‘; } } } //试试 var str = ‘aaa blue‘; var arr = str.split(‘ ‘); var str2 = ‘aaa is a person‘; var sFound = false; for(var i=0;i<arr.length;i++){ if(str2.search(arr[i])!=-1){ sFound = true; } } alert(sFound); //搜索功能(模糊查询) var oBtn3 = document.getElementById(‘btn3‘); var oTxt2 = document.getElementById(‘txt2‘); oBtn3.onclick=function(){ for(var i=0;i<tb.tBodies[0].rows.length;i++){ var sValueInTb = tb.tBodies[0].rows[i].cells[1].innerHTML.toLowerCase(); var sValueInTxt = oTxt2.value.toLowerCase().split(‘ ‘); var sFound = false; for(var j=0;j<sValueInTxt.length;j++){ if(sValueInTb.search(sValueInTxt[j])!=-1){ sFound = true; break; } } if(sFound){ tb.tBodies[0].rows[i].style.background = ‘red‘; } else{ tb.tBodies[0].rows[i].style.background = ‘‘; } } } } </script> </head> <body> <input type="text" id="txt1"> <input type="button" id="btn1" value="添加"> <input type="text" id="txt2"> <input type="button" id="btn2" value="精确搜索"><input type="button" id="btn3" value="模糊搜索"> <table border="1" width="450" id="tb"> <thead> <Tr> <Td>ID</Td> <Td>姓名</Td> <Td>操作</Td> </Tr> </thead> <tbody> <tr> <Td>1</Td> <Td>abe</Td> <Td></Td> </tr> <tr> <Td>2</Td> <Td>a春春</Td> <Td></Td> </tr> <tr> <Td>3</Td> <Td>b一流</Td> <Td></Td> </tr> <tr> <Td>4</Td> <Td>贰万</Td> <Td></Td> </tr> <tr> <Td>5</Td> <Td>aaa</Td> <Td></Td> </tr> <tr> <Td>6</Td> <Td>blue</Td> <Td></Td> </tr> </tbody> </table> </body> </html>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。