當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
DOMJavaScript示例练习
生活随笔
收集整理的這篇文章主要介紹了
DOMJavaScript示例练习
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
以下示例均為html文件,保存至本地就可直接用瀏覽器打開以查看效果\(^o^)/~
練習一:設置新聞字體
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 5 <title>字體樣式選擇</title> 6 <style type="text/css"> 7 a:link,a:visited{ 8 text-decoration:none;//取消下劃線 9 } 10 #newsText{ 11 border: #CC0033 double 2px; 12 width:800px; 13 } 14 p{ 15 text-indent:2em;//首行縮進 16 } 17 .max{ 18 font-size:36px; 19 color:#666699; 20 } 21 .mid{ 22 font-size:18px; 23 color:#6666FF; 24 } 25 .min{ 26 font-size:13px; 27 color:#3399FF; 28 } 29 </style> 30 </head> 31 <body> 32 <script type="text/javascript"> 33 function changeFont(className){ 34 var divNode = document.getElementById("newsText"); 35 divNode.className = className; 36 } 37 </script> 38 <h2 style="color:#FF0000">【念念有余】馬云的達摩院想干嘛?</h2> 39 <a href="javascript:void(0)" οnclick="changeFont('max')">大字體</a> 40 <a href="javascript:void(0)" οnclick="changeFont('mid')">中字體</a> 41 <a href="javascript:void(0)" οnclick="changeFont('min')">小字體</a> 42 <hr style="border:#99FF00 solid 1px"/> 43 <div id="newsText"> 44 <p> 45 兩個著傳統武打裝扮的年輕人,斜步蹲身,一起擎出一個碩大的牌匾來,中間三個遒勁有力的字正是“達摩院”。 46 </p> 47 <p><img src="http://p0.ifengimg.com/pmop/2017/1014/BC710B82FEC535D27C6728240C1B20ED367433A7_size34_w500_h333.jpeg"/></p> 48 <p>馬云說,要搞電商,于是有了阿里巴巴;馬云說,要有網上支付,于是有了支付寶,有了螞蟻金服; 49 馬云說,要有云計算,于是到處是云計算。現在馬云說,要有達摩院,于是,達摩院的牌子掛起來了。 50 </p> 51 <p> 52 10月11日開幕的2017云棲大會吸引了4萬人之眾,人們把這場大會當做一場嘉年華,會場外,男人女人們, 53 像游客一樣撐起自拍桿,阿里帝國已經大到了令人咋舌的地步,批量創造著千萬富翁。馬云稱阿里已經是世界上第21大經濟體, 54 未來要做第5大經濟體。大會上人們記得最真切的是有“外星人”之稱的馬云說要投資1000億元建立達摩院。達摩院就是實驗室。 55 馬云為達摩院命名,當年馬云同樣為天貓命名。 56 </p> 57 <p> 58 “達摩院”這個名字很有阿里特色,達摩是一個佛教人物,民間常稱其為達摩祖師,南印度人,自稱佛傳禪宗第二十八祖, 59 為中國禪宗始祖。負責達摩院的是阿里CTO張建鋒,諢名行癲。馬云號風清揚,阿里有頭臉的人物都有一個江湖諢名, 60 就跟梁山泊一百零八將一樣,連諢名都沒有,估計這人在阿里也就沒什么地位。 61 </p> 62 <p> 63 如果將一些典故或者武俠背景聯系起來,就會明白,達摩院其實是藏經閣,這里將會發明各種必殺之技,未來也不知道會怎么樣, 64 但大家都明白,誰掌握了技術,就會像大航海時代的殖民者一樣,以少勝多。 65 </p> 66 <p> 67 但是必殺技哪里會那么簡單?到了一定程度就會有瓶頸,一定不是現有水平的修修補補,而是牽涉到基礎科學、基礎技術, 68 越是處于領先地位的企業,越是走得靠前的企業,他們離天花板就越近,看得越清晰。這就是為什么國際頂尖企業會做頂尖研究, 69 他們有財力有眼力,還有能力。 70 </p> 71 <p> 72 “達摩院”首批公布的研究領域包括:量子計算、機器學習、基礎算法、網絡安全、視覺計算、自然語言處理、 73 下一代人機交互、芯片技術、傳感器技術、嵌入式系統等,涵蓋機器智能、智聯網、金融科技等多個產業領域。 74 名目繁多,似乎無所不包,這里面可以看到馬云的野心,這也顯示了馬云和阿里一個非常重要變化——由“術”向“道”。 75 </p> 76 <p> 77 馬云說,阿里成立七八年的時候,他堅決反對公司有任何研究室、實驗室的,因為當時阿里是一個初創公司, 78 公司在還沒有立足之前就考慮研發是大災難。阿里的做法一直是問題導向,遇到什么問題,需要什么,就組織工作人員去攻關。 79 </p> 80 <p> 81 馬云多次說過,如果他是技術人員,一開始就知道會有這么多難題,估計就會退縮,就不會有現在的阿里巴巴、螞蟻金服。 82 阿里現在不僅是遇到問題就組織科研人員去攻關,而是四處開拓疆土,看看有什么領域比較有機會。前者目的性很強,是問題導向, 83 后者則是四處撒網,花錢多但不一定有結果。 84 </p> 85 <p> 86 像這些比較基礎的科研,一般是高校和科研院所承擔,這些機構背后買單者是政府,這是政府要承擔的職能之一, 87 因為這些研發大多是沒有收益的,但對社會會比較有幫助,讓單個企業承擔的成本太高。這表明阿里已經不再擔憂生存問題,愿意承擔一部分政府承擔的責任。 88 </p> 89 <p> 90 有不少人認為,阿里這次投入,只是一場作秀,科技不可能拔毛助長,不可能投進去很多錢,就能大躍進。 91 不過公眾應該去想一想,像阿里這樣精明的企業,怎么會愿意做折本買賣? 92 </p> 93 <p> 94 阿里現在的規模已足夠大,護城墻也足夠高,危險來自未來,如果不下足功夫研究,一旦被競爭對手掌握, 95 就有可能被秒殺。即使像騰訊這樣規模的還面臨從QQ到微信的驚險一躍,就跟蘇寧和京東的競爭一樣,一旦落后下去,就很難追趕了。 96 </p> 97 <p> 98 馬云說貝爾、IBM的實驗室曾經創造輝煌,可這種工業時代的實驗室模式已經沒落了。他認為達摩院科研的目標不僅僅是FUN, 99 也不僅是PROFIT,而是問題導向,以解決問題為目標。 100 </p> 101 <p> 102 達摩院似乎是一個獨立經營個體,就像很多研發機構也能最終上市一樣,馬云要求達摩院能夠獨立經營維持下去。至于方法, 103 外人還很難猜測,科研機構一般要靠政府撥款,或者慈善捐助,當然也可以是訂單式研發,轉讓專利技術。 104 </p> 105 <p> 106 有很多技術是得益于那些大企業的研發,比如數碼相機,即使研發者被革了命,也是為人類做了貢獻。應該記住的是, 107 即使那些傳統企業沒落了,他們留下的科研仍在;即使那些富豪不在了,他們留下的研究機構還在;比如卡耐基捐助的卡內基·梅隆大學, 108 洛克菲勒捐助的洛克菲勒大學,還有洛克菲勒基金會對科學所做的貢獻。 109 </p> 110 <p> 111 (編輯:劉駿) 112 </div> 113 </body> 114 </html> View Code練習二:展開&閉合列表
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 5 <title>展開&閉合列表 </title> 6 <style type="text/css"> 7 dl{ 8 font:color:#6699CC; 9 width:300px; 10 height:18px; 11 } 12 dl dt{ 13 font-weight:bold; 14 color:Green; 15 cursor:pointer; //設置手勢 16 } 17 dl dd{ 18 margin:0px; 19 } 20 /* //預定義樣式:便于標簽樣式的動態加載*/ 21 .open{ 22 height:130px;/*不設置的話,文字會重疊*/ 23 overflow:visible; 24 } 25 .close{ 26 overflow :hidden; 27 } 28 </style> 29 </head> 30 31 <body> 32 <script type="text/javascript"> 33 function show() { 34 var dtNode = window.event.srcElement; 35 var dlNode = dtNode.parentNode; 36 var dlNodes = document.getElementsByTagName("dl"); 37 for (var i = 0; i < dlNodes.length; i++) { 38 if (dlNodes[i] == dlNode) { //判斷是否是當前點擊的dl 39 if (dlNodes[i].className == "open") { 40 dlNodes[i].className = "close"; 41 } 42 else { 43 dlNodes[i].className = "open"; 44 } 45 } 46 else { 47 dlNodes[i].className = "close"; 48 } 49 } 50 } 51 </script> 52 <dl class="close"> 53 <dt οnclick="show()"> 54 列表一 55 </dt> 56 <dd>列表內容sasasacsa</dd> 57 <dd>列表內容dafrfgrve</dd> 58 <dd>列表內容saspasl;a,</dd> 59 <dd>列表內容dsd9qwklms</dd> 60 <dd>列表內容sajsoiaya</dd> 61 </dl> 62 <dl class="close"> 63 <dt οnclick="show()"> 64 列表二 65 </dt> 66 <dd>列表內容sasasacsa</dd> 67 <dd>列表內容dafrfgrve</dd> 68 <dd>列表內容saspasl;a,</dd> 69 <dd>列表內容dsd9qwklms</dd> 70 <dd>列表內容sajsoiaya</dd> 71 </dl> 72 <dl class="close"> 73 <dt οnclick="show()"> 74 列表三 75 </dt> 76 <dd>列表內容sasasacsa</dd> 77 <dd>列表內容dafrfgrve</dd> 78 <dd>列表內容saspasl;a,</dd> 79 <dd>列表內容dsd9qwklms</dd> 80 <dd>列表內容sajsoiaya</dd> 81 </dl> 82 </body> 83 </html> View Code練習三:自動創建表格
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 5 <title>自動創建表格</title> 6 <link rel="stylesheet" type="text/css" href="table.css" /> 7 </head> 8 9 <body> 10 <script type="text/javascript"> 11 var tabNum = 1; 12 function creTable(){ 13 /*原始方法: 14 //創建表格節點 15 var tabNode = document.createElement("table"); 16 //創建tbody節點 17 var tbdNode = document.createElement("tbody"); 18 //創建行節點tr 19 var trNode = document.createElement("tr"); 20 //創建單元格節點td 21 var tdNode = document.createElement("td"); 22 tdNode.innerHTML = "單元格內容"; 23 24 //讓這些節點具有層次關系:組成一個表 25 tabNode.appendChild(tbdNode); 26 tbdNode.appendChild(trNode); 27 trNode.appendChild(tdNode); 28 */ 29 30 //新方法:使用表格節點自帶的方法:insertRow() 31 //獲取行列值 32 var rowNode = document.getElementsByTagName("input")[0]; 33 var celNode = document.getElementsByTagName("input")[1]; 34 if(rowNode.value==""|| rowNode.value==""){ 35 alert("數據不能為空!"); 36 } 37 else{ 38 var divNode = document.getElementsByTagName("div")[0]; 39 var x = rowNode.value; 40 var y = celNode.value; 41 //添加說明 42 var text = document.createElement("div"); 43 text.innerHTML = "[表格"+tabNum+"]:"+x+"x"+y; 44 tabNum++; 45 divNode.appendChild(text); 46 47 //添加表格 48 var tabNode = document.createElement("table"); 49 for(var i=1;i<=x;i++){//插入x行 50 var trNode = tabNode.insertRow(); 51 for(var j=1;j<=y;j++){//插入單元格:即列 52 var tdNode = trNode.insertCell(); 53 } 54 } 55 tabNode.id = tabNum-1; 56 divNode.appendChild(tabNode); 57 //添加一條下劃線 58 var line = document.createElement("hr"); 59 divNode.appendChild(line); 60 } 61 } 62 //刪除指定表格(該方法存在缺陷:沒有刪除表格上方的說明文字;沒有做健壯性判斷) 63 function delTable(){ 64 var tableNode = document.getElementsByTagName("input")[3]; 65 if(tableNode.value==""){ 66 alert("數據不能為空!"); 67 } 68 else{ 69 var tabId = tableNode.value; 70 var tabnumNode = document.getElementById(tabId); 71 tabnumNode.parentNode.removeChild(tabnumNode); 72 } 73 } 74 </script> 75 行:<input type="text" name="rownum"/> 76 列:<input type="text" name="colnum"/> 77 <input type="button" value="創建" οnclick="creTable()" /> 78 <br/> 79 表格:<input type="text" name="tabnum"/> 80 <input type="button" value="刪除" οnclick="delTable()" /> 81 <hr/> 82 <div></div> 83 </body> 84 </html> View Codecss文件:文件名為table.css
1 /* CSS Document */ 2 table{ 3 border:#33ff11 1px solid; 4 width:300px; 5 border-collapse:collapse; 6 } 7 table td{ 8 border:#663366 1px solid; 9 padding:10px; 10 } 11 table th{ 12 border:#6633ff 1px solid; 13 padding:10px; 14 background-color:rgb(100,200,300); 15 } tables.css?練習四:表格行高亮
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 5 <title>行顏色間隔并高亮</title> 6 <link rel="stylesheet" href="table.css" /> 7 <style type="text/css"> 8 .one{ 9 background:#99CCFF; 10 } 11 .two{ 12 background:#FFFF99; 13 } 14 .over{ 15 background-color:#FF0000; 16 } 17 </style> 18 <script type="text/javascript"> 19 var name;//記錄行的classname 20 /*設置行屬性和行為*/ 21 function setRows(){ 22 //獲取表格對象 23 var tabNode = document.getElementById("infoTab"); 24 //獲取行 25 var rowsNode = tabNode.rows; 26 //從第二行開始遍歷(不算表頭) 27 for(var i=1;i<rowsNode.length;i++){ 28 if(i%2 == 1) 29 rowsNode[i].className = "one"; 30 else 31 rowsNode[i].className = "two"; 32 33 //設置完顏色,給行添加時間(行為) 34 rowsNode[i].onmouseover = function(){ 35 name = this.className; 36 this.className = "over";//高亮 37 } 38 rowsNode[i].onmouseout = function(){ 39 this.className = name;//還原 40 } 41 } 42 } 43 //在加載完成后調用方法: 44 window.onload = function(){ 45 setRows(); 46 } 47 </script> 48 </head> 49 <body> 50 <table id="infoTab"> 51 <tr> 52 <th>姓名</th> 53 <th>年齡</th> 54 <th>地址</th> 55 </tr> 56 <tr> 57 <td>張三</td> 58 <td>24</td> 59 <td>上海</td> 60 </tr> 61 <tr> 62 <td>李四</td> 63 <td>21</td> 64 <td>北京</td> 65 </tr> 66 <tr> 67 <td>王五</td> 68 <td>34</td> 69 <td>天津</td> 70 </tr> 71 <tr> 72 <td>小明</td> 73 <td>27</td> 74 <td>石家莊</td> 75 </tr> 76 <tr> 77 <td>小紅</td> 78 <td>24</td> 79 <td>黑龍江</td> 80 </tr> 81 <tr> 82 <td>小強</td> 83 <td>23</td> 84 <td>合肥</td> 85 </tr> 86 <tr> 87 <td>詩朗誦</td> 88 <td>35</td> 89 <td>杭州</td> 90 </tr> 91 <tr> 92 <td>貝爾</td> 93 <td>38</td> 94 <td>紐約</td> 95 </tr> 96 </table> 97 </body> 98 </html> View Code練習五:表格排序
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 5 <title>表格排序</title> 6 <link rel="stylesheet" type="text/css" href="table.css" /> 7 <style type="text/css"> 8 .over{ 9 background-color:#FF0000; 10 } 11 th a:link,th a:visited{ 12 text-decoration:none; 13 color:#0000FF; 14 } 15 </style> 16 <script type="text/javascript"> 17 var name;//記錄行的classname 18 /*設置行屬性和行為*/ 19 function setRows(){ 20 //獲取表格對象 21 var tabNode = document.getElementById("infoTab"); 22 //獲取行 23 var rowsNode = tabNode.rows; 24 //從第二行開始遍歷(不算表頭) 25 for(var i=1;i<rowsNode.length;i++){ 26 //給行添加時間(行為) 27 rowsNode[i].onmouseover = function(){ 28 name = this.className; 29 this.className = "over";//高亮 30 } 31 rowsNode[i].onmouseout = function(){ 32 this.className = name;//還原 33 } 34 } 35 } 36 //在加載完成后調用方法: 37 window.onload = function(){ 38 setRows(); 39 } 40 </script> 41 <script type="text/javascript"> 42 /*給表格排序 43 1、獲取需要排序的行對象數組 44 2、按指定規則排序 45 3、將排好序的數組添加回表格 46 */ 47 var flag = true; 48 function sortTab(){ 49 //獲取表格對象 50 var tabNode = document.getElementById("infoTab"); 51 //獲取行 52 var rowsNode = tabNode.rows; 53 //定義臨時容器存儲要排序的行對象(其實存的是地址,排序的時候是排的行對象) 54 var tempRows = []; 55 for(var i=1;i<rowsNode.length;i++){ 56 tempRows[i-1] = rowsNode[i]; 57 } 58 //對臨時容器排序 59 if(flag){ 60 mySort(tempRows); 61 //將排序的行對象添加回表格 62 for(var x=0;x<tempRows.length;x++){ 63 tempRows[x].parentNode.appendChild(tempRows[x]); 64 } 65 flag = false; 66 } 67 else{ 68 mySort(tempRows); 69 //將排序的行對象添加回表格 70 for(var x=tempRows.length-1;x>=0;x--){ 71 tempRows[x].parentNode.appendChild(tempRows[x]); 72 } 73 flag = true; 74 } 75 } 76 //數組排序 77 function mySort(arr){ 78 for(var x=0;x<arr.length-1;x++) 79 for(var y=x+1;y<arr.length;y++){ 80 if(arr[x].cells[1].innerHTML < arr[y].cells[1].innerHTML){ 81 var temp = arr[x]; 82 arr[x] = arr[y]; 83 arr[y] = temp; 84 } 85 } 86 } 87 88 </script> 89 </head> 90 <body> 91 <table id="infoTab"> 92 <tr> 93 <th>姓名</th> 94 <th><a href="javascript:void(0)" onclick="sortTab()">年齡</a></th> 95 <th>地址</th> 96 </tr> 97 <tr> 98 <td>張三</td> 99 <td>24</td> 100 <td>上海</td> 101 </tr> 102 <tr> 103 <td>李四</td> 104 <td>21</td> 105 <td>北京</td> 106 </tr> 107 <tr> 108 <td>王五</td> 109 <td>34</td> 110 <td>天津</td> 111 </tr> 112 <tr> 113 <td>小明</td> 114 <td>27</td> 115 <td>石家莊</td> 116 </tr> 117 <tr> 118 <td>小紅</td> 119 <td>24</td> 120 <td>黑龍江</td> 121 </tr> 122 <tr> 123 <td>小強</td> 124 <td>23</td> 125 <td>合肥</td> 126 </tr> 127 <tr> 128 <td>詩朗誦</td> 129 <td>35</td> 130 <td>杭州</td> 131 </tr> 132 <tr> 133 <td>貝爾</td> 134 <td>38</td> 135 <td>紐約</td> 136 </tr> 137 </table> 138 </body> 139 </html> View Code練習六:全選&全不選&刪除選擇
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 5 <title>全選&反選</title> 6 <style type="text/css"> 7 table{ 8 border:#33ff11 1px solid; 9 width:650px; 10 border-collapse:collapse; 11 text-align:center; 12 } 13 table td{ 14 border:#663366 1px solid; 15 padding:10px; 16 } 17 table th{ 18 border:#666666 1px solid; 19 padding:10px; 20 background-color:rgb(100,200,300); 21 } 22 .one{ 23 background-color:#CCCCFF; 24 } 25 .two{ 26 background-color:#FFFFCC; 27 } 28 .lastline{ 29 background-color:#0099FF; 30 } 31 .over{ 32 background:#CC3300; 33 } 34 h1{ 35 color:#00FF99; 36 } 37 </style> 38 <script type="text/javascript"> 39 var name; 40 //行間隔顏色設置 41 function setRows(){ 42 var otabNode = document.getElementById("mailTab"); 43 var orowNodes = otabNode.rows; 44 45 for(var x=1;x<orowNodes.length-1;x++){ 46 if(x%2 == 1) 47 orowNodes[x].className = "one"; 48 else 49 orowNodes[x].className = "two"; 50 //事件 51 orowNodes[x].onmouseover = function(){ 52 name = this.className; 53 this.className = "over";//高亮 54 } 55 orowNodes[x].onmouseout = function(){ 56 this.className = name;//還原 57 } 58 } 59 orowNodes[x].className = "lastline"; 60 } 61 //文檔加載后執行: 62 window.onload = function(){ 63 setRows(); 64 } 65 66 //復選框的全選動作 67 function checkAll(node){ 68 //獲取所有復選框 69 var mailNodes = document.getElementsByName("mail"); 70 for(var x=0;x<mailNodes.length;x++){ 71 mailNodes[x].checked = node.checked; 72 } 73 } 74 //單擊按鈕事件 75 function checkAllByBut(num){ 76 var mailNodes = document.getElementsByName("mail"); 77 for(var x=0;x<mailNodes.length;x++){ 78 if(num >= 1)//單選 79 mailNodes[x].checked = !mailNodes[x].checked; 80 else//全不選 81 mailNodes[x].checked = num; 82 } 83 } 84 //刪除 85 function delMails(){ 86 var mailNodes = document.getElementsByName("mail"); 87 if(!confirm("是否刪除所選郵件信息?")) 88 return; 89 for(var x=0;x<mailNodes.length;x++){ 90 if(mailNodes[x].checked){ 91 var rowNode = mailNodes[x].parentNode.parentNode;//獲取行 92 rowNode.parentNode.removeChild(rowNode) 93 x--;//注意:這很關鍵,因為一旦remove,數組長度變短,但x卻在自增,所以每remove一次需要自減一次 94 } 95 setRows();//更新行設置 96 } 97 } 98 </script> 99 </head> 100 <body> 101 <h1>email管理</h1> 102 <table id="mailTab"> 103 <tr> 104 <th><input type="checkbox" name="all" onclick="checkAll(this)"/>全選</th> 105 <th>發件人</th> 106 <th>郵件名稱</th> 107 <th>郵件附屬信息</th> 108 </tr> 109 <tr> 110 <td><input type="checkbox" name="mail"/></td> 111 <td>張三</td> 112 <td>1oaoisasja@mail.com</td> 113 <td>附屬信息:wobuxinnihuiduwoxieleshenme</td> 114 </tr> 115 <tr> 116 <td><input type="checkbox" name="mail"/></td> 117 <td>李四</td> 118 <td>1oaoisasja@mail.com</td> 119 <td>附屬信息:wobuxinnihuiduwoxieleshenme</td> 120 </tr> 121 <tr> 122 <td><input type="checkbox" name="mail"/></td> 123 <td>王五</td> 124 <td>1oaoisasja@mail.com</td> 125 <td>附屬信息:wobuxinnihuiduwoxieleshenme</td> 126 </tr> 127 <tr> 128 <td><input type="checkbox" name="mail"/></td> 129 <td>小明</td> 130 <td>1oaoisasja@mail.com</td> 131 <td>附屬信息:wobuxinnihuiduwoxieleshenme</td> 132 </tr> 133 <tr> 134 <td><input type="checkbox" name="mail"/></td> 135 <td>杰克</td> 136 <td>1oaoisasja@mail.com</td> 137 <td>附屬信息:wobuxinnihuiduwoxieleshenme</td> 138 </tr><tr> 139 <td><input type="checkbox" name="mail"/></td> 140 <td>不一樣</td> 141 <td>1oaoisasja@mail.com</td> 142 <td>附屬信息:wobuxinnihuiduwoxieleshenme</td> 143 </tr><tr> 144 <td><input type="checkbox" name="mail"/></td> 145 <td>王尼瑪</td> 146 <td>1oaoisasja@mail.com</td> 147 <td>附屬信息:wobuxinnihuiduwoxieleshenme</td> 148 </tr><tr> 149 <td><input type="checkbox" name="mail"/></td> 150 <td>全蛋</td> 151 <td>1oaoisasja@mail.com</td> 152 <td>附屬信息:wobuxinnihuiduwoxieleshenme</td> 153 </tr><tr> 154 <td><input type="checkbox" name="mail"/></td> 155 <td>胡八一</td> 156 <td>1oaoisasja@mail.com</td> 157 <td>附屬信息:wobuxinnihuiduwoxieleshenme</td> 158 </tr><tr> 159 <td><input type="checkbox" name="mail"/></td> 160 <td>匿名</td> 161 <td>1oaoisasja@mail.com</td> 162 <td>附屬信息:wobuxinnihuiduwoxieleshenme</td> 163 </tr> 164 <tr> 165 <td><input type="checkbox" name="all" onclick="checkAll(this)"/>全選</td> 166 <td><input type="button" value="全不選" onclick="checkAllByBut(0)"/></td> 167 <td><input type="button" value="反選" onclick="checkAllByBut(3)"/></td> 168 <td><input type="button" value="刪除所選郵件" onclick="delMails()"/></td> 169 </tr> 170 </table> 171 </body> 172 </html> View Code練習七:性格測試
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 5 <title>性格測試</title> 6 <style type="text/css"> 7 #no1ul{ 8 list-style:none; 9 margin:0px; 10 padding:0px; 11 } 12 .close{ 13 display:none; 14 } 15 .show{ 16 color:#990000; 17 } 18 </style> 19 <script type="text/javascript"> 20 function showTestResult(){ 21 var radioNodes = document.getElementsByName("answer"); 22 var resultNodes = document.getElementsByName("result"); 23 //健壯性判斷 24 var flag = false; 25 for(var x=0;x<radioNodes.length;x++){ 26 if(radioNodes[x].checked){ 27 flag = true; 28 showOne(resultNodes[x]); 29 break; 30 } 31 } 32 if(!flag){ 33 showOne(resultNodes[4]); 34 } 35 } 36 //我們希望只顯示一個測試結果 37 function showOne(node){ 38 var resultNodes = document.getElementsByName("result"); 39 for(var x=0;x<resultNodes.length;x++){ 40 //先全部close 41 resultNodes[x].className = "close"; 42 } 43 //再顯示這個節點 44 node.className = "show"; 45 } 46 </script> 47 </head> 48 <body> 49 <h2>性格測試</h2> 50 <div> 51 <h3>問題</h3> 52 <span>每天下班回家一進門,你會怎樣脫掉鞋子?</span> 53 <ul id="no1ul"> 54 <li><input type="radio" name="answer" value="1"/>A、很隨意的脫下鞋子,不在乎如何擺放。</li> 55 <li><input type="radio" name="answer" value="2"/>B、脫下鞋后,把鞋尖朝向門外的方向整齊排好。</li> 56 <li><input type="radio" name="answer" value="3"/>C、脫下鞋后,把鞋尖朝屋內的方向整齊排好。</li> 57 <li><input type="radio" name="answer" value="4"/>D、不自己脫鞋,而是由同住在一起的人幫你脫下鞋子。</li> 58 </ul> 59 </div> 60 <div> 61 <input type="button" value="查看測試結果" onclick="showTestResult()"/> 62 <hr/> 63 <div id="a" name="result" class="close"> 64 A:這樣的人,比較喜歡自由,認為生活舒適即可,不在意細節,完全不考慮社會體制和規則的類型,以追求自我欲望為中心。 65 較沖動,喜歡自由奔放的生活方式。比較自我的人,這種人是為了追求欲望而行動的類型,仍然持續幼兒時期的性格。 66 如果往好的方向發展,當然很好;但是,如果往壞的方向發展,結果會很令人驚嘆。 67 </div> 68 <div id="b" name="result" class="close"> 69 B:這樣的人很能吃苦,用自己的辛勤來享受生活。凡事都要準備得萬全,是追求完美的人。容易在社會上樹敵很多,對于同事也毫不放松。 70 他們會壓抑感情,喜怒不形于色,遵守社會規范而行動。但是,這種人的心里面防衛防備很嚴,即使認為是為了社會公益而做的事情,也會引起很多的誤解。 71 你的道德心和倫理感相當強烈,建議最好不要給自己過多的負擔以免吃不消。 72 </div> 73 <div id="c" name="result" class="close"> 74 C:這樣的人有自己的思考方式,有自己的做事風格,會適當地考慮方式方法,是辦事周到的人。這樣的人驕傲,但是又適度,所以會給人以成熟自信的感覺。 75 </div> 76 <div id="d" name="result" class="close"> 77 D:這樣脫鞋方式的人,不用多說,一定是比較任性的人,與其說是任性,倒不如說是被完全慣壞了,因為周圍的人都寵她,她要做的事情,都會由別人幫她做的很好, 78 不是說她自己沒由能力,是因為她的依賴性很強,所以這樣的人必須注意與周圍環境的協調,否則終有一天吃大虧。 79 </div> 80 <div id="e" name="result" class="close"> 81 E:你很皮! 82 </div> 83 </div> 84 </body> 85 </html> View Code練習八:下拉菜單
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 5 <title>下拉菜單</title> 6 <style type="text/css"> 7 .color{ 8 width:50px; 9 height:50px; 10 background-color:#993300; 11 float:left; 12 margin-bottom:20px; 13 } 14 div ul{ 15 margin:0px; 16 padding:0px; 17 margin-top:20px; 18 } 19 div ul li{ 20 list-style:none; 21 clear:left; 22 } 23 #changeColor{ 24 margin-top:20px; 25 } 26 </style> 27 <script type="text/javascript"> 28 //使用顏色塊設置顏色 29 function setColor(node){ 30 var textNode = document.getElementById("text"); 31 textNode.style.color = node.style.backgroundColor; 32 } 33 34 //使用下拉框改變顏色 35 function changeColor(){ 36 //獲取下拉框 37 var selNode = document.getElementById("changeColor"); 38 //下拉框選項 39 var optionsNode = selNode.options; 40 var textNode = document.getElementById("text"); 41 42 textNode.style.color = optionsNode[optionsNode.selectedIndex].style.color; 43 } 44 </script> 45 <script> 46 //下拉框2 47 function selectCity(){ 48 //獲取要用到的對象 49 var selproNode = document.getElementById("selPro"); 50 var selcityNode = document.getElementById("selCity"); 51 var optionsNode = selcityNode.options; 52 var index = selproNode.selectedIndex; 53 //設置可選城市 54 /*方式一: 55 var arr1 = {"beijing":['海淀區','朝陽區','東城區','西城區']}; 56 var arr2 = {"hebei":['石家莊','邯鄲','保定','秦皇島']}; 57 var arr3 = {"shandong":['津南','青島','煙臺','日照']}; 58 var arr4 = {"henan":['鄭州','洛陽','開封','平頂山']}; 59 */ 60 var arr0 = ["選擇城市"]; 61 var arr1 = ['海淀區','朝陽區','東城區','西城區']; 62 var arr2 = ['石家莊','邯鄲','保定','秦皇島']; 63 var arr3 = ['津南','青島','煙臺','日照']; 64 var arr4 = ['鄭州','洛陽','開封','平頂山']; 65 var arr = [arr0,arr1,arr2,arr3,arr4]; 66 //選擇省市后添加對應城市 67 //注意:在添加前應該清空里面的內容!!! 68 var cityArr = arr[index]; 69 for(var i=0;i<optionsNode.length;i++){ 70 optionsNode[i].parentNode.removeChild(optionsNode[i]); 71 i--;//重要 72 } 73 for(var x=0;x<cityArr.length;x++){ 74 var opt = document.createElement("option"); 75 var str = cityArr[x]; 76 opt.innerHTML = str; 77 selcityNode.appendChild(opt); 78 } 79 } 80 </script> 81 </head> 82 <body> 83 <h2>下拉框1</h2> 84 <div class="color" style="background-color:#FF0000" onclick="setColor(this)" id="col1"></div> 85 <div class="color" style="background-color:#00FF00" onclick="setColor(this)" id="col2"></div> 86 <div class="color" style="background-color:#0000FF" onclick="setColor(this)" id="col3"></div> 87 <div id="text"> 88 <ul> 89 <li>你見,或者不見我,我就在那里,不悲不喜;</li> 90 <li>你念,或者不念我,情就在那里,不來不去;</li> 91 <li>你愛,或者不愛我,愛就在那里,不增不減;</li> 92 <li>你跟,或者不跟我,我的手就在你手里,不舍不棄;</li> 93 <li>來我的懷里,或者,讓我住進你的心里</li> 94 <li>默然 相愛 寂靜 歡喜</li> 95 </ul> 96 </div> 97 <select id="changeColor" onchange="changeColor()"> 98 <option value="balck">選擇顏色</option> 99 <option style="color:#FF0000">紅色</option> 100 <option style="color:#00FF00">綠色</option> 101 <option style="color:#0000FF">藍色</option> 102 </select> 103 <hr/> 104 105 <h2>下拉框2</h2> 106 <select id="selPro" onchange="selectCity()"> 107 <option value="sel">選擇省市</option> 108 <option value="beijing">北京</option> 109 <option value="hebei">河北</option> 110 <option value="shandong">山東</option> 111 <option value="henan">河南</option> 112 </select> 113 <select id="selCity"> 114 <option>選擇城市</option> 115 </select> 116 </body> 117 </html> View Code練習九:添加&刪除附件?
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 5 <title>添加&刪除附件</title> 6 <style type="text/css"> 7 table a:link,table a:visited{ 8 color:#0000FF; 9 font-family:"Times New Roman", Times, serif; 10 text-decoration:none; 11 } 12 table a:hover{ 13 color:#CCCC00; 14 } 15 </style> 16 <script type="text/javascript"> 17 //添加附件 18 function addFile(){ 19 var tabNode = document.getElementById("myTab"); 20 var rowNode = tabNode.insertRow(); 21 //插入行 22 var celFileNode = rowNode.insertCell(); 23 var celbuttNode = rowNode.insertCell(); 24 celFileNode.innerHTML = "<input type='file'/>"; 25 celbuttNode.innerHTML = "<a href='javascript:void(0)' οnclick='delFile(this)'>刪除</a>"; 26 } 27 //刪除附件 28 function delFile(node){ 29 var rowNode = node.parentNode.parentNode; 30 rowNode.parentNode.removeChild(rowNode); 31 } 32 </script> 33 </head> 34 <body> 35 <table id="myTab"> 36 <tr> 37 <td><a href="javascript:void(0)" onclick="addFile()">添加附件</a></td> 38 </tr> 39 <tr> 40 <td><hr/></td> 41 </tr> 42 </table> 43 </body> 44 </html> View Code聯系十:表單檢驗
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 5 <title>表單校驗</title> 6 <style type="text/css"> 7 table{ 8 border:#006666 2px solid; 9 width:300px; 10 height:300px; 11 text-align:center; 12 } 13 </style> 14 <script type="text/javascript"> 15 //用戶名提示 16 function usermes(){ 17 var userflag =false; 18 var userNode = document.getElementById("username"); 19 var name = userNode.value; 20 //定義正則表達式規則:有兩種語法方法 21 var reg = new RegExp("^[a-z].{1,5}$","i"); 22 //var reg = /^[a-z]{4}$/; 23 var usermesNode = document.getElementById("usermes"); 24 //判斷輸入是否符合規則: 25 if(reg.test(name)){ 26 usermesNode.innerHTML = "用戶名可用".fontcolor("green"); 27 flag = true; 28 } 29 else{ 30 usermesNode.innerHTML = "用戶名必須以字母開頭且長度在2-6之間".fontcolor("red"); 31 flag = false; 32 } 33 return flag; 34 } 35 //密碼提示 36 function pswmes1(){ 37 var psw1flag =false; 38 var pswNode = document.getElementById("psw1"); 39 var name = pswNode.value; 40 //定義正則表達式規則:有兩種語法方法 41 var reg = new RegExp("^.{2,10}$","i"); 42 //var reg = /^[a-z]{4}$/; 43 var pswmesNode = document.getElementById("pswmes1"); 44 //判斷輸入是否符合規則: 45 if(reg.test(name)){ 46 pswmesNode.innerHTML = "密碼可用".fontcolor("green"); 47 psw1flag = true; 48 } 49 else if(name==""){ 50 pswmesNode.innerHTML = "密碼不能為空".fontcolor("red"); 51 psw1flag = false; 52 } 53 else{ 54 pswmesNode.innerHTML = "密碼長度必須為:2~10".fontcolor("red"); 55 psw1flag = false; 56 } 57 return psw1flag; 58 } 59 function pswmes2(){ 60 var psw2flag =false; 61 var psw1Node = document.getElementById("psw1"); 62 var name1 = psw1Node.value; 63 var psw2Node = document.getElementById("psw2"); 64 var name2 = psw2Node.value; 65 66 var pswmesNode = document.getElementById("pswmes2"); 67 //判斷輸入是否符合規則: 68 if(name1==name2){ 69 if(name2==""){ 70 pswmesNode.innerHTML = "密碼不能為空".fontcolor("red"); 71 psw2flag = false; 72 } 73 else{ 74 pswmesNode.innerHTML = "輸入一致".fontcolor("green"); 75 psw2flag = true; 76 } 77 } 78 else{ 79 pswmesNode.innerHTML = "兩次密碼輸入不一致".fontcolor("red"); 80 psw2flag = false; 81 } 82 return psw2flag; 83 } 84 //提交校驗 85 function checkForm(){ 86 var formflag; 87 var psw1Node = document.getElementById("submes"); 88 if(usermes() && psw1mes() && psw2mes()){ 89 alert("提交成功"); 90 formflag = true; 91 } 92 else{ 93 alert("輸入有誤,無法提交"); 94 formflag = false; 95 } 96 return formflag; 97 } 98 </script> 99 </head> 100 <body> 101 <h2>新用戶注冊</h2> 102 <form onsubmit="return checkForm()"> 103 <table id="userTab"> 104 <tr> 105 <td>用戶名稱:<input type="text" id ="username" onblur="usermes()"/></td> 106 </tr> 107 <tr> 108 <td id="usermes"></td> 109 </tr> 110 <tr> 111 <td>密 碼:<input type="password" id ="psw1" onblur="pswmes1()"/></td> 112 </tr> 113 <tr> 114 <td id="pswmes1"></td> 115 </tr> 116 <tr> 117 <td>確認密碼:<input type="password" id ="psw2" onblur="pswmes2()"/></td> 118 </tr> 119 <tr> 120 <td id="pswmes2"></td> 121 </tr> 122 </table> 123 <input type="submit" value="確認注冊" style="font-size:16px"/> 124 </form> 125 </body> 126 </html> View Code轉載于:https://www.cnblogs.com/fzz9/p/7772841.html
總結
以上是生活随笔為你收集整理的DOMJavaScript示例练习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我经常访问的技术网站
- 下一篇: 洛谷 U10783 名字被和谐了