求異同,這兩個代碼差在哪,一個能正常運行,另一個卻不能
<!DOCTYPE html>
<html>
?<head>
? <title> new document </title> ?
? <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> ??
? <script type="text/javascript">?
??
? ? ? window.onload = function(){
? ? ? ? ? var tr=document.getElementsByTagName("tr");
? ? ? ? ? for(var i= 0;i<tr.length;i++)
? ? ? ? ? {
? ? ? ? ? ? ? bgcChange(tr[i]);
? ? ? ? ? }
? ? ?// 鼠標移動改變背景,可以通過給每行綁定鼠標移上事件和鼠標移除事件來改變所在行背景色。
? ? ? } ? ? ? ??
function bgcChange(obj)
? ? ?{
? ? ? ? obj.onmouseover=function(){
? ? ? ? ? ? obj.style.backgroundColor="#f2f2f2";
? ? ? ? }
? ? ? ? obj.onmouseout=function(){
? ? ? ? ? ? obj.style.backgroundColor="#fff";
? ? ? ? }
}
? ?
// 編寫一個函數(shù),供添加按鈕調(diào)用,動態(tài)在表格的最后一行添加子節(jié)點;
? ? ?var num=2;
? ? ?function add(){
? ? ? ? num++;
? ? ? ? var tr=document.createElement("tr");
? ? ? ? var xh=document.createElement("td");
? ? ? ? var xm=document.createElement("td");
? ? ? ? xh.innerHTML="xh00"+num;
? ? ? ? xm.innerHTML="第"+num+"學生";
? ? ? ? var del=document.createElement("td");
? ? ? ? del.innerHTML="<a href='javascript:;' onclick='del(this)' >刪除</a>";
? ? ? ? var tab=document.getElementById("table");
? ? ? ? tab.appendChild(tr);
? ? ? ? tr.appendChild(xh);
? ? ? ? tr.appendChild(xm);
? ? ? ? tr.appendChild(del);
? ? ? ? var tr = document.getElementsByTagName("tr");
? ? ? ? ? for(var i= 0;i<tr.length;i++)
? ? ? ? ? {
? ? ? ? ? ? ? bgcChange(tr[i]);
? ? ? ? ? }
? ? ?}
? ? ?
? ? ?// 創(chuàng)建刪除函數(shù)
? ? ?function del(obj)
? ? ?{
? ? ? ? ?var tr=obj.parentNode.parentNode;
? ? ? ? ?tr.parentNode.removeChild(tr);
? ? ?}
? ? ?
?
?
? </script>?
?</head>?
?<body>?
? <table border="1" width="50%" id="table">
? <tr>
<th>學號</th>
<th>姓名</th>
<th>操作</th>
? </tr> ?
? <tr>
<td>xh001</td>
<td>王小明</td>
<td><a href="javascript:;" onclick="del(this);">刪除</a></td> ? <!--在刪除按鈕上添加點擊事件 ?-->
? </tr>
? <tr>
<td>xh002</td>
<td>劉小芳</td>
<td><a href="javascript:;" onclick="del(this);">刪除</a></td> ? <!--在刪除按鈕上添加點擊事件 ?-->
? </tr> ?
? </table>
? <input type="button" value="添加一行" onclick="add()" /> ? <!--在添加按鈕上添加點擊事件 ?-->
?</body>
</html>
2015-07-21
這個其實還是有點小問題的,你每次增加或者刪除都要遍歷tr 否則新加的是沒有綁定 移入移出事件的,遍歷的方法封裝成函數(shù),增加或者刪除都在執(zhí)行一遍
2015-07-21
for(var i=1;i<tr.length;i++){
? ? ? ? ? tr[i].onmouseover=function(){
? ? ? ? ? ? this.style.backgroundColor="#efefef";
? ? ? ? ? }
? ? ? ? ? tr[i].onmouseout=function(){
? ? ? ? ? ?this.style.backgroundColor="#fff";
? ? ? ? ? }
? ? ? ? }
這樣就好了
2015-07-21
另一個不能運作的代碼;
<!DOCTYPE HTML>
<html>
? <head>
? ? <!-- 不要丟失‘-’ -->
? ? <meta http-equiv="Content-Type" content="text/html;charset=utf-8">?
? ? <title>DOM</title>
? ? <script type="text/javascript">
? ? ? window.onload=function(){
? ? ? ? var tr=document.getElementsByTagName('tr');
? ? ? ? for(var i=1;i<tr.length;i++){
? ? ? ? ? tr[i].onmouseover=function(){
? ? ? ? ? ? tr[i].style.backgroundColor="#efefef";
? ? ? ? ? }
? ? ? ? ? tr[i].onmouseout=function(){
? ? ? ? ? ? tr[i].style.backgroundColor="#fff";
? ? ? ? ? }
? ? ? ? }
? ? ? }
? ? ? function add(){
? ? ? ? var tr=document.createElement("tr");
? ? ? ? var td1=document.createElement("td");
? ? ? ? var td2=document.createElement("td");
? ? ? ? var td3=document.createElement("td");
? ? ? ? var num = document.getElementsByTagName("tr").length;
? ? ? ? td1.innerHTML="xh00"+num;
? ? ? ? td2.innerHTML="number"+num;
? ? ? ? td3.innerHTML="<a href="javascript:;" onclick="del(this)">刪除</a>";
? ? ? ? var tab=document.getElementById("table");
? ? ? ? table.appendChild(tr);
? ? ? ? tr.appendChild(td1);
? ? ? ? tr.appendChild(td2);
? ? ? ? tr.appendChild(td3);
? ? ? }
? ? ? function del(obj){
? ? ? ??
? ? ? ? var tr=obj.parentNode.parentNode;
? ? ? ? tr.parentNode.removeChild(tr);
? ? ? }
? ? ??
? ? </script>
? </head>
? <body>
? ? <table border="1" width="50%" cellspacing="0" id="table">
? ? <tr>
? ? ? <th>學號</th>
? ? ? <th>姓名</th>
? ? ? <th>操作</th>
? ? </tr>
? ? <tr>
? ? ? <td>xh001</td>
? ? ? <td>王小明</td>
? ? ? <td><a href="javascript:;" onclick="del(this)">刪除</a></td>
? ? </tr>
? ? <tr>
? ? ? <td>xh002</td>
? ? ? <td>張曉安</td>
? ? ? <td><a href="javascript:;" onclick="del(this)">刪除</a></td>
? ? </tr>
? ? </table>
? ? <br><br>
? ? <input type="button" value="添加一行" onclick="add()" >
? </body>
</html>