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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于JavaScript元素選取的一些疑惑。

關于JavaScript元素選取的一些疑惑。

夕立空 2016-04-15 11:24:45
???function?removeTr(obj){ ?????????var?tbody?=?document.getElementById("table").lastChild; ?????????var?tr?=?obj.parentNode.parentNode; ?????????tbody.removeChild(tr); ?????}http://www.xianlaiwan.cn/code/1636我的理解:其中的刪除函數,定義的第一個tbody變量選中的應當是表格中的最后一個元素,即最后一個tr,第二行tr變量選中的是點擊“刪除”鏈接以后父節點的父節點(a->td->tr),即該“刪除”鏈接所在的行;問題如下:如果點擊的不是最后一行,那么按照我的理解,對應的tr元素也是不相同的,但是通過這個函數卻確實能起到刪除子節點的效果,為何?兩次選取對應的應當是同級的元素,卻能通過操作tbody的子節點來刪除任意行,這又是為何?如果我的理解有誤,還希望能夠指出。感謝大家的解答!
查看完整描述

3 回答

已采納
?
李曉健

TA貢獻1036條經驗 獲得超461個贊

其實完整的表格是這樣的

<table?id="table">
????<tbody>
????????<tr>
????????????<th>學號</th>
????????????<th>姓名</th>
????????????<th>操作</th>
????????</tr>
????
????????<tr>
????????????<td>xh001</td>
????????????<td>王小明</td>
????????????<td><a?href="javascript:;"?>刪除</a></td>???<!--在刪除按鈕上添加點擊事件??-->
????????</tr>
????
????????<tr>
????????????<td>xh002</td>
????????????<td>劉小芳</td>
????????????<td><a?href="javascript:;"?>刪除</a></td>???<!--在刪除按鈕上添加點擊事件??-->
????????</tr>
????</tbody>
</table>

他還有一層tbody,你不加瀏覽器會加上去的。所以document.getElementById("table").lastChild;得到的就是這個 tbody標簽,它是所有tr的父標簽。obj.parentNode.parentNode 它取到的就是當前行的tr,所以就可以解釋通了。

查看完整回答
反對 回復 2016-04-15
?
Caballarii

TA貢獻1123條經驗 獲得超629個贊

table在渲染的時候會在tr標簽外面再添加一層<tbody>標簽

var?tbody?=?document.getElementById("table").lastChild;這句實際就是取得這個元素,也就是tr的父標簽,

所以tbody.removeChild(tr);這句就是父標簽tbody刪除子標簽tr

這樣寫不嚴謹,你從哪里找的,找個好一些的代碼去研究

查看完整回答
1 反對 回復 2016-04-15
  • 夕立空
    夕立空
    謝謝解答,前面給的就是下載的題目里的示例代碼啦。
?
木子兮

TA貢獻25條經驗 獲得超9個贊

為什么還要表格布局?


查看完整回答
反對 回復 2016-04-15
  • 3 回答
  • 0 關注
  • 1565 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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