添加事件后,為什么沒反應(yīng)??
?window.onload = function(){
? ? ? ? ? ? ? ? ??
? ? ?// 鼠標(biāo)移動改變背景,可以通過給每行綁定鼠標(biāo)移上事件和鼠標(biāo)移除事件來改變所在行背景色。
? ? ? ? var Trs=document.getElementsByTagName("tr");
? ? ? ??
? ? ? ? for(var i=1;i<Trs.length;i++){
? ? ? ? ? ? ?
? ? ? ? ? ? ?Trs[i].onmouseover=function(){
? ? ? ? ? ? ? ? Trs[i].style.backgroundColor="#f2f2f2";?
? ? ? ? ? ? ?}
? ? ? ? ? ? ?
? ? ? ? ? ? ?Trs[i].onmouseout=function(){
? ? ? ? ? ? ? ? Trs[i].style.backgroundColor="#fff";?
? ? ? ? ? ? ?}
? ? ? ? ?} ?
}
2017-06-07
不好意思,沒看見回復(fù),是這樣的,你的window.onload函數(shù)缺了一個大括號,還有,最好是把這些函數(shù)直接寫在script標(biāo)簽中,不要寫在window.onload里面,因?yàn)閐el和add是在html標(biāo)簽里面的,當(dāng)程序執(zhí)行到這里的時候,如果函數(shù)在window.onload里面,html標(biāo)簽是獲取不到這個事件的,你這個程序就只是一個大括號位置的問題,至于如何在給新添加的tr添加onmouseout和onmouseover里面
2017-06-06
<!DOCTYPE html>
<html>
?<head>
? <title> new document </title> ?
? <meta http-equiv="Content-Type" content="text/html; charset=gbk"/> ??
? <script type="text/javascript">?
??
? ? ? window.onload = function(){
? ? ? ? ? ? ? ? ?
? ? ? ?/* var Trs=document.getElementsByTagName("tr");
? ? ? ??
? ? ? ? for(var i=1;i<Trs.length;i++){
? ? ? ? ? ? ?
? ? ? ? ? ? ?change(Trs[i]);
? ?}
? ? }
function change(obj){
? ? obj.onmouseover=function(){
? ? ? ? ? ? ? ? obj.style.backgroundColor="#f2f2f2";?
? ? ? ? ? ? ?}
? ? ? ? ? ? ?
? ? ? ? ?obj.onmouseout=function(){
? ? ? ? ? ? ? ? obj.style.backgroundColor="#fff";?
? ? ? ? ? ? ?}
? ? } ?*///這樣寫就可以
? ? ? ? ?
? ? ? ? ?
? ? ? ? var Trs=document.getElementsByTagName("tr");
? ? ? ? ?for(let i=1;i<Trs.length;i++){
? ? ? ? ? ? ?//沒反應(yīng)
? ? ? ? ? ? ?Trs[i].onmouseover=function(){
? ? ? ? ? ? ? ? Trs[i].style.backgroundColor="#f2f2f2";?
? ? ? ? ? ? ?}
? ? ? ? ? ? ?
? ? ? ? ? ? ?Trs[i].onmouseout=function(){
? ? ? ? ? ? ? ? Trs[i].style.backgroundColor="#fff";?
? ? ? ? ? ? ?}
? ? ? ? ?}?
? ? ? ? ?
?
? ? ?
? ? ? // 編寫一個函數(shù),供添加按鈕調(diào)用,動態(tài)在表格的最后一行添加子節(jié)點(diǎn);
? ? ? var i=2;
? ? ? function add(obj){
? ? ? ? ? var tr=document.createElement("tr");
? ? ? ? ? var td1=document.createElement("td");
? ? ? ? ? var td2=document.createElement("td");
? ? ? ? ? var td3=document.createElement("td");
? ? ? ? ? var tab=document.getElementById("table");
? ? ? ? ? i++;
? ? ? ? ? td1.innerHTML="xh00"+i;
? ? ? ? ? td2.innerHTML="第"+i+"位同學(xué)";
? ? ? ? ? td3.innerHTML="<a href='javascript:;' onclick='del(this)' >刪除</a>";
? ? ? ? ? tab.appendChild(tr);
? ? ? ? ? tr.appendChild(td1);
? ? ? ? ? tr.appendChild(td2);
? ? ? ? ? tr.appendChild(td3);
? ? ? ? ??
? ? ? }
? ?
? ? ?// 創(chuàng)建刪除函數(shù)
? ? ? function del(obj){
? ? ? ? ?obj.parentNode.parentNode.parentNode.removeChild(obj.parentNode.parentNode);
? ? ? }
? </script>?
?</head>?
?<body>?
? <table border="1" width="50%" id="table">
? <tr>
<th>學(xué)號</th>
<th>姓名</th>
<th>操作</th>
? </tr> ?
? <tr>
<td>xh001</td>
<td>王小明</td>
<td><a href="javascript:;" onclick="del(this)">刪除</a></td> ? <!--在刪除按鈕上添加點(diǎn)擊事件 ?-->
? </tr>
? <tr>
<td>xh002</td>
<td>劉小芳</td>
<td><a href="javascript:;" onclick="del(this)">刪除</a></td> ? <!--在刪除按鈕上添加點(diǎn)擊事件 ?-->
? </tr> ?
? </table>
? <input type="button" value="添加一行" ?onclick="add(this)"/> ? <!--在添加按鈕上添加點(diǎn)擊事件 ?-->
?</body>
</html>
2017-06-06
"當(dāng)這個程序運(yùn)行的時候,循環(huán)已經(jīng)完成,"??能解析一下嗎
2017-06-06
因?yàn)槟憬o它綁定的這個事件的時候,用到了i變量,但是當(dāng)這個程序運(yùn)行的時候,循環(huán)已經(jīng)完成,這個i已經(jīng)是比數(shù)組的長度大了,你可以簡單的把for(var i=1;i<Trs.length;i++)改成for(let i=1;i<Trs.length;i++)