日期:2014-05-16 浏览次数:20364 次
三个练习:
?
1.
?
?
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Untitled Document</title> <script type="text/javascript"> //点击任何一个 li 节点, 弹出其文本值 //1. 代码需要编写在 window.onload 函数体中 window.onload = function(){ //2. 获取所有的 li 节点, 一个数组 var liNodes = document.getElementsByTagName("li"); //3. 遍历 2 得到的数组 for(var i = 0; i < liNodes.length; i++){ //var liNode = liNodes[i]; //4. 为每一个遍历的 li 节点的 onclick 属性赋值 //5. 在赋值的函数体中, 弹出当前 li 节点的文本值 liNode.onclick = function(){ alert(this.firstChild.nodeValue); //alert(liNodes[i].firstChild.nodeValue); //因为在遍历的过程中, i 始终是一个变量, 最后取值为 8 //alert(j); //因为 i 最终的取值是 8, 而 liNodes[8] 对应的节点根本就不存在, 所以以下代码无法工作 //alert(liNodes[i].firstChild.nodeValue); } } }; var liNodes = document.getElementsByTagName("li"); for(var i = 0; i < liNodes.length; i++){ alert(i); liNodes[i].onclick = function(){ alert(i); } } </script> </head> <body> <p>你喜欢哪个城市?</p> <ul id="city"> <li id="bj" title="Beijing">北京</li> <li>上海</li> <li>东京</li> <li>首尔</li> </ul> <br><br> <p>你喜欢哪款单机游戏?</p> <ul id="game"><li id="ra">红警</li> <li>实况</li> <li>极品飞车</li> <li id="war3">魔兽</li></ul> <br><br> gender: <input type="radio" name="gender" value="male"/>Male <input type="radio" name="gender" value="female"/>Female </body> </html>
?
?2.
?
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Untitled Document</title> <script type="text/javascript"> window.onload = function(){ //需求: 点击任何一个 li 节点, 改变其文本节点的文本值: 若文本节点中没有 "^^", 则在前边加上 "^^", 若有则去掉 var liNodes = document.getElementsByTagName("li"); for(var i = 0; i < liNodes.length; i++){ liNodes[i].onclick = function(){ var val = this.firstChild.nodeValue; var reg = /^\^{2}/; if(reg.test(val)){ val = val.replace(reg, ""); }else{ val = "^^" + val; } this.firstChild.nodeValue = val; }; } }; </script> </head> <body> <p>你喜欢哪个城市?</p> <ul id="city"> <li id="bj" title="Beijing">北京</li> <li>上海</li> <li>东京</li> <li>首尔</li> </ul> <br><br> <p>你喜欢哪款单机游戏?</p> <ul id="game"><li id="ra">红警</li> <li>实况</li> <li>极品飞车</li> <li id="war3">魔兽</li></ul> <br><br> gender: <input type="radio" name="gender" value="male"/>Male <input type="radio" name="gender" value="female"/>Female </body> </html>
?
?3.
?
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Untitled Document</title> <script type="text/javascript"> window.onload = function(){ //****知识: 在 js 中 null, undefined, 0, false 都可以作为 false 使用, 除此以外可以作为 true 使用 //需求: 点击 submit 按钮时, 检查是否选择 type, 若没有选择给出提示: "请选择类型"; // 检查文本框中是否有输入(可以去除前后空格), 若没有输入, 则给出提示: "请输入内容"; //若检查都通过, 则在相应的 ul 节点中添加对应的 li 节点 //1. 选取 #submit 按钮, 并为其添加 onclick 响应函数 document.getElementById("submit").onclick = function(){ //3. 获取所有 name="type" 的节点(radio): types var types =