亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

我試圖通過給tr節點設置id值進行控制插入與刪除,下面的代碼好像都行不通,無論是改變底色還是增刪功能?(糾結了很久,也看過一些大佬們的代碼,思路不一樣,但我覺得我的這個想法還是有可行性的,但自己又找不出哪里的問題,只能厚著臉皮來這求教了)

<!DOCTYPE?html>
<html>
?<head>
??<title>?new?document?</title>??
??<meta?http-equiv="Content-Type"?content="text/html;?charset=gbk"/>???
??<script?type="text/javascript">?
????????function?colorA(obj)
????????{
????????????obj.style.backgroundColor="#f2f2f2";
????????}
?????????function?colorB(obj)
????????{
????????????obj.style.backgroundColor="#fff";
????????}
??????window.onload?=?function(){
??????????????????
?????//?鼠標移動改變背景,可以通過給每行綁定鼠標移上事件和鼠標移除事件來改變所在行背景色。onmouseover
?????????var?tr=document.getElementsByTagName("tr");??//返回tr節點列表
?????????for(var?i=0;i!=tr.length;i++)
?????????{
?????????????tr[i].setAttribute("onmouseover","colorA(tr[i])");
?????????????tr[i].setAttribute("onmouseout","colorB(tr[i])");
?????????}
????????
?????
?????}
?????
??????//?編寫一個函數,供添加按鈕調用,動態在表格的最后一行添加子節點;
??????//?通過給tr節點設置id值進行控制插入與刪除
????function?add()
????{
????????var?newnode?=?document.createElement("tr");??????//添加的tr節點
????????var?node?=?document.getElemnentById("table");????//在id=table的子列表中添加該新節點node
????????var?len?=?node.childNodes.length;????????????????//返回該節點子列表現在的長度,方便為下一個添加的節點做標記
????????newnode.setAttribute("id","len");??????????????//新添tr節點的id值為len
????????var?newna?=?document.createElement("td");????//創建tr節點的第一個子節點newna
????????if(len<10)???????????????????????????????????//學號的格式
????????var?newnatext?=?document.createTextNode("xh00"+len);
????????else?if(len<100)
????????var?newnatext?=?document.createTextNode("xh0"+len);
????????newna.appendChild(newnatext);???????????????????????//學號項
????????newnode.appendChild(newna);
????????var?newnb?=?document.createElement("td");???????????//姓名項
????????var?newnc?=?document.createElement("td");???????????//操作項
????????newnc.innerHTML='<a?href="javascript:;"?onclick="dele('+len+')>刪除</a>';//以文本格式插入內容
????????newnode.appendChild(newnb);??????????//在tr節點插入姓名項td節點
????????newnode.appendChild(newnc);??????????//在tr節點插入操作項td節點
????????node.appendChild(newnode);???????????//在node中插入newnode(新的一行)
????????
????}
????
?????//?創建刪除函數
????function?dele(n)
?????{
?????????var?otest=document.getElementById("table");
?????????ostest.removeChild(ostest.childNodes[n]);
?????}
??</script>?
?</head>?
?<body>?
???????<table?border="1"?width="50%"?id="table">
???????<tr?id="0">
????????<th>學號</th>
????????<th>姓名</th>
????????<th>操作</th>
???????</tr>??
???????<tr?id="1">
????????<td>xh001</td>
????????<td>王小明</td>
????????<td><a?href="javascript:;"?onclick="dele(1)">刪除</a></td>???<!--在刪除按鈕上添加點擊事件??-->
???????</tr>
???????<tr?id="2">
????????<td>xh002</td>
????????<td>劉小芳</td>
????????<td><a?href="javascript:;"?onclick="dele(2)">刪除</a></td>???<!--在刪除按鈕上添加點擊事件??-->
???????</tr>??
???????</table>
???????<input?type="button"?value="添加一行"??onclick="add()"/>???<!--在添加按鈕上添加點擊事件??-->
?</body>
</html>


正在回答

3 回答

http://img1.sycdn.imooc.com//5dd65ccc0001abdf08850192.jpg

將colorA(tr[i]) 改成this,colorB同樣。

http://img1.sycdn.imooc.com//5dd6566100011c6514920177.jpg

document.getElementById編寫錯誤。

http://img1.sycdn.imooc.com//5dd658310001050304830046.jpg

添加刪除a標簽時綁定事件拼寫錯誤,沒有結束"。

http://img1.sycdn.imooc.com//5dd65d130001a89507950254.jpg

你這犯的錯誤。。。

修改完的給你貼上來

<!DOCTYPE?html>

<html>

?<head>

??<title>?new?document?</title>??

??<meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"/>???

??<script?type="text/javascript">?

????????function?colorA(obj)

????????{

????????????obj.style.backgroundColor="#f2f2f2";

????????}

?????????function?colorB(obj)

????????{

????????????obj.style.backgroundColor="#fff";

????????}

??????window.onload?=?function(){

???????????????????

?????//?鼠標移動改變背景,可以通過給每行綁定鼠標移上事件和鼠標移除事件來改變所在行背景色。onmouseover

?????????var?tr=document.getElementsByTagName("tr");??//返回tr節點列表

?????????for(var?i=0;i<tr.length;i++)

?????????{

?????????????tr[i].setAttribute("onmouseover","colorA(this)");

?????????????tr[i].setAttribute("onmouseout","colorB(this)");

?????????}

?????????

??????

?????}

??????

??????//?編寫一個函數,供添加按鈕調用,動態在表格的最后一行添加子節點;

??????//?通過給tr節點設置id值進行控制插入與刪除

????function?add()

????{

????????var?newnode?=?document.createElement("tr");??????//添加的tr節點

????????var?node?=?document.getElementById("table");????//在id=table的子列表中添加該新節點node

????????var?len?=?node.childNodes.length;????????????????//返回該節點子列表現在的長度,方便為下一個添加的節點做標記

????????newnode.setAttribute("id","len");??????????????//新添tr節點的id值為len

????????var?newna?=?document.createElement("td");????//創建tr節點的第一個子節點newna

????????if(len<10)???????????????????????????????????//學號的格式

????????var?newnatext?=?document.createTextNode("xh00"+len);

????????else?if(len<100)

????????var?newnatext?=?document.createTextNode("xh0"+len);

????????newna.appendChild(newnatext);???????????????????????//學號項

????????newnode.appendChild(newna);

????????var?newnb?=?document.createElement("td");???????????//姓名項

????????var?newnc?=?document.createElement("td");???????????//操作項

????????newnc.innerHTML='<a?href="javascript:;"?onclick="dele('+len+')">刪除</a>';//以文本格式插入內容

????????newnode.appendChild(newnb);??????????//在tr節點插入姓名項td節點

????????newnode.appendChild(newnc);??????????//在tr節點插入操作項td節點

????????node.appendChild(newnode);???????????//在node中插入newnode(新的一行)

?????????

????}

?????

?????//?創建刪除函數

????function?dele(n)

?????{

?????????var?otest=document.getElementById("table");

?????????console.log(otest.childNodes[n]);

?????????otest.removeChild(otest.childNodes[n]);

?????}

??</script>?

?</head>?

?<body>?

???????<table?border="1"?width="50%"?id="table">

???????<tr?id="0">

????????<th>學號</th>

????????<th>姓名</th>

????????<th>操作</th>

???????</tr>??

???????<tr?id="1">

????????<td>xh001</td>

????????<td>王小明</td>

????????<td><a?href="javascript:;"?onclick="dele(1)">刪除</a></td>???<!--在刪除按鈕上添加點擊事件??-->

???????</tr>

???????<tr?id="2">

????????<td>xh002</td>

????????<td>劉小芳</td>

????????<td><a?href="javascript:;"?onclick="dele(2)">刪除</a></td>???<!--在刪除按鈕上添加點擊事件??-->

???????</tr>??

???????</table>

???????<input?type="button"?value="添加一行"??onclick="add()"/>???<!--在添加按鈕上添加點擊事件??-->

?</body>

</html>


0 回復 有任何疑惑可以回復我~

不用這么麻煩,直接用委托事件,另外,學了jQuery你會發現這個練習簡單的不行

0 回復 有任何疑惑可以回復我~

你這是哪個功能有問題?

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

我試圖通過給tr節點設置id值進行控制插入與刪除,下面的代碼好像都行不通,無論是改變底色還是增刪功能?(糾結了很久,也看過一些大佬們的代碼,思路不一樣,但我覺得我的這個想法還是有可行性的,但自己又找不出哪里的問題,只能厚著臉皮來這求教了)

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號