JavaScript——DOM的高级应用一
来源:互联网 发布:淘宝店铺保证金多少 编辑:程序博客网 时间:2024/04/30 17:32
表格应用、表单应用
表格应用
获取
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title><script type="text/javascript"> window.onload = function(){ var oTab = document.getElementById('tab1'); alert(oTab.tBodies[0].rows[1].cells[1].innerHTML); }</script></head><body> <table id="tab1" border="1" width="500";> <thead> <td>ID</td> <td>姓名</td> <td>年龄</td> </thead> <tbody> <tr> <td>1</td> <td>赵</td> <td>20</td> </tr> <tr> <td>2</td> <td>钱</td> <td>21</td> </tr> <tr> <td>3</td> <td>孙</td> <td>22</td> </tr> <tr> <td>4</td> <td>李</td> <td>23</td> </tr> </tbody> </table></body></html>
结果可以直接获取“钱”; alert(oTab.getElementsByTagName('tbody')[0].getElementsByTagName('tr')[1].getElementsByTagName('td')[1].innerHTML);
跟alert(oTab.tBodies[0].rows[1].cells[1].innerHTML);
的使用方法一样
getElementsByTagName(‘tbody’) -> tBodies getElementsByTagName(‘tr’) -> rows getElementsByTagName(‘td’) -> cells
直接元素:
getElementsByTagName(‘thead’) -> tHead getElementsByTagName(‘tfoot’) -> tFoot
隔行变色
window.onload = function(){ var oTab = document.getElementById('tab1'); var oldColor = ''; for (var i = 0; i < oTab.tBodies[0].rows.length; i++) { oTab.tBodies[0].rows[i].onmouseover = function(){ oldColor = this.style.background; this.style.background = 'green'; } oTab.tBodies[0].rows[i].onmouseout = function(){ this.style.background = oldColor; } if (i % 2) { oTab.tBodies[0].rows[i].style.background = 'red'; } else { oTab.tBodies[0].rows[i].style.background = ''; } }; }
先定义一个空变量,将原来的颜色存入其中;
当鼠标移入的时候会变成指定颜色,当鼠标移出的时候会变回原来的颜色;
添加删除行
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title><script type="text/javascript"> window.onload = function(){ var oTab = document.getElementById('tab1'); var oBtn = document.getElementById('btn1'); var oName = document.getElementById('name'); var oAge = document.getElementById('age'); var id = oTab.tBodies[0].rows.length + 1; oBtn.onclick = function (){ var oTr = document.createElement('tr'); var oTd = document.createElement('td'); oTd.innerHTML = id ++; oTr.appendChild(oTd); var oTd = document.createElement('td'); oTd.innerHTML = oName.value; oTr.appendChild(oTd); var oTd = document.createElement('td'); oTd.innerHTML = oAge.value; oTr.appendChild(oTd); var oTd = document.createElement('td'); oTd.innerHTML = '<a href = "javascript:;">删除</a>'; oTr.appendChild(oTd); oTd.getElementsByTagName('a')[0].onclick = function(){ oTab.tBodies[0].removeChild(this.parentNode.parentNode) } oTab.tBodies[0].appendChild(oTr); } }</script></head><body> 姓名:<input id="name" type="text" /> 年龄:<input id="age" type="text" /> <input id="btn1" type="button" value="添加" /> <table id="tab1" border="1" width="500";> <thead> <td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </thead> <tbody> <tr> <td>1</td> <td>赵</td> <td>20</td> <td></td> </tr> <tr> <td>2</td> <td>钱</td> <td>21</td> <td></td> </tr> <tr> <td>3</td> <td>孙</td> <td>22</td> <td></td> </tr> <tr> <td>4</td> <td>李</td> <td>23</td> <td></td> </tr> </tbody> </table></body></html>
删除之后ID不会重复
搜索
toLowerCase()搜索时可以忽略英文大小写
var str = 'asdfg';alert(str.search('df'));
找到并返回字符串的位置,上图即是返回2,如果没有找到,那么会返回一个-1
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title><script type="text/javascript"> window.onload = function(){ var oTab = document.getElementById('tab1'); var oTxt = document.getElementById('name'); var oBtn = document.getElementById('btn1'); oBtn.onclick = function(){ for (var i = 0; i < oTab.tBodies[0].rows.length; i++) { var sTab = oTab.tBodies[0].rows[i].cells[1].innerHTML.toLowerCase(); var sTxt = oTxt.value.toLowerCase(); if(sTab.search( sTxt)!=-1){ oTab.tBodies[0].rows[i].style.background = 'yellow'; } else { oTab.tBodies[0].rows[i].style.background = ''; } }; } }</script></head><body> 姓名:<input id="name" type="text" /> <input id="btn1" type="button" value="搜索" /> <table id="tab1" border="1" width="500";> <thead> <td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </thead> <tbody> <tr> <td>1</td> <td>赵</td> <td>20</td> <td></td> </tr> <tr> <td>2</td> <td>钱</td> <td>21</td> <td></td> </tr> <tr> <td>3</td> <td>孙</td> <td>22</td> <td></td> </tr> <tr> <td>4</td> <td>李</td> <td>23</td> <td></td> </tr> </tbody> </table></body></html>
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title><script type="text/javascript"> window.onload = function(){ var oTab = document.getElementById('tab1'); var oTxt = document.getElementById('name'); var oBtn = document.getElementById('btn1'); oBtn.onclick = function(){ for (var i = 0; i < oTab.tBodies[0].rows.length; i++) { var sTab = oTab.tBodies[0].rows[i].cells[1].innerHTML.toLowerCase(); var sTxt = oTxt.value.toLowerCase(); var arr = sTxt.split(' '); oTab.tBodies[0].rows[i].style.background = ''; for (var j = 0; j < arr.length; j++) { if(sTab.search(arr[j])!=-1){ oTab.tBodies[0].rows[i].style.background = 'yellow'; } } } } }</script></head><body> 姓名:<input id="name" type="text" /> <input id="btn1" type="button" value="搜索" /> <table id="tab1" border="1" width="500";> <thead> <td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </thead> <tbody> <tr> <td>1</td> <td>赵</td> <td>20</td> <td></td> </tr> <tr> <td>2</td> <td>钱</td> <td>21</td> <td></td> </tr> <tr> <td>3</td> <td>孙</td> <td>22</td> <td></td> </tr> <tr> <td>4</td> <td>李</td> <td>23</td> <td></td> </tr> </tbody> </table></body></html>
split将数组分开
其中包含大小写模糊,等各类模糊搜索
筛选功能就是将background改成display
排序
appendChild:先把元素在原有的父级上删除,然后在添加到新的父级
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title><style type="text/css"> #ul1 { background: green; } #ul2 { background: yellow; }</style><script type="text/javascript"> window.onload = function(){ var oUl1 = document.getElementById('ul1'); var oUl2 = document.getElementById('ul2'); var oBtn = document.getElementById('btn1'); oBtn.onclick = function (){ var oLi = oUl1.children[0]; oUl2.appendChild(oLi); } }</script></head><body> <ul id="ul1"> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> </ul> <input id="btn1" type="button" value="移动"> <ul id="ul2"></ul></body></html>
当点击按钮时,原有的列表内容会一条一条删除,新列表会一条一条添加
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title><style type="text/css"> #ul1 { background: green; } #ul2 { background: yellow; }</style><script type="text/javascript"> window.onload = function(){ var oUl1 = document.getElementById('ul1'); var oBtn = document.getElementById('btn1'); oBtn.onclick = function (){ var oLi = oUl1.children[0]; oUl1.appendChild(oLi); } }</script></head><body> <input id="btn1" type="button" value="移动"> <ul id="ul1"> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> </ul></body></html>
当点击按钮的时候,会不断的往后排序
数字排序:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title><style type="text/css"> #ul1 { background: green; } #ul2 { background: yellow; }</style><script type="text/javascript"> window.onload = function(){ var oUl1 = document.getElementById('ul1'); var oBtn = document.getElementById('btn1'); oBtn.onclick = function (){ var aLi = oUl1.getElementsByTagName('li'); var arr = []; for (var i = 0; i < aLi.length; i++) { arr[i] = aLi[i] } arr.sort(function(li1,li2){ var n1 = parseInt(li1.innerHTML); var n2 = parseInt(li2.innerHTML); return n1 - n2; }); //alert(arr[0].innerHTML); for (var i = 0; i < arr.length; i++) { oUl1.appendChild(arr[i]); }; } }</script></head><body> <input id="btn1" type="button" value="移动"> <ul id="ul1"> <li>12</li> <li>98</li> <li>4</li> <li>65</li> <li>10</li> </ul></body></html>
例子:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title><script type="text/javascript"> window.onload = function(){ var oTab = document.getElementById('tab1'); var oBtn = document.getElementById('btn1'); oBtn.onclick = function(){ var arr = []; for (var i = 0; i < oTab.tBodies[0].rows.length; i++) { arr[i] = oTab.tBodies[0].rows[i] }; arr.sort(function(tr1,tr2){ var n1 = tr1.cells[0].innerHTML; var n2 = tr2.cells[0].innerHTML; return n1 - n2; }); for (var i = 0; i < arr.length; i++) { oTab.tBodies[0].appendChild(arr[i]); }; } }</script></head><body> <input id="btn1" type="button" value="排序" /> <table id="tab1" border="1" width="500";> <thead> <td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </thead> <tbody> <tr> <td>1</td> <td>赵</td> <td>20</td> <td></td> </tr> <tr> <td>6</td> <td>钱</td> <td>21</td> <td></td> </tr> <tr> <td>3</td> <td>孙</td> <td>22</td> <td></td> </tr> <tr> <td>5</td> <td>钱</td> <td>21</td> <td></td> </tr> <tr> <td>4</td> <td>李</td> <td>23</td> <td></td> </tr> <tr> <td>2</td> <td>钱</td> <td>21</td> <td></td> </tr> </tbody> </table></body></html>
表单应用
向服务器提交数据
action -> 提交到哪里(网址)
表单事件
onsubmit -> 加事件,提交的时候发生
onreset -> 加事件,重置的时候发生
表单内容校验
组织用户输入非法字符
输入时、失去焦点时验证
提交时检查
后台数据检查
- JavaScript——DOM的高级应用一
- Dom的高级应用
- DOM高级应用(一)
- javascript针对DOM的应用(一)
- JavaScript高级应用(一)
- 《JavaScript高级程序设计》——DOM
- 智能社JavaScript学习笔记——13/14 - DOM操作应用 - 高级
- JavaScript DOM高级程序设计笔记__(一)
- JavaScript DOM高级程序设计笔记__(一)
- javaScript高级应用(一)
- javascript的高级应用
- JavaScript——DOM操作应用
- 《JavaScript高级程序设计》学习笔记——DOM
- DOM——JavaScript高级程序设计笔记(8)
- DOM 扩展——JavaScript高级程序设计笔记(9)
- DOM---JavaScript高级程序设计的笔记
- javascript针对DOM的应用
- javascript针对DOM的应用
- bootstrap 模态框(modal)实现水平垂直居中显示 含具体分析
- 在Tomcat中手动部署JSP
- Nginx反向代理,负载均衡,redis session共享,keepalived高可用
- 区分旅客国籍
- WSH-Windows Scripting Host-Windows脚本宿主
- JavaScript——DOM的高级应用一
- 银行存款问题
- android 内存优化方式整理
- iOS之const,static,extern简介
- NT路径和DOS路径转换
- 一文学会用 Tensorflow 搭建神经网络
- Codeforces 546E Soldier and Traveling (最大流+输出流量分配方案)
- 三角形求面积2
- 在niagara中开发driver遇到的问题