问答详情
源自:9-22 编程练习

var old=document.getElementById("table").lastChild;

为什么不是var old=document.getElementById("table");

提问者:菜呆米子 2016-05-04 20:24

个回答

  • 慕粉1184261
    2016-05-11 12:02:31

           thead、tfoot 以及 tbody 元素使您有能力对表格中的行进行分组。当您创建某个表格时,您也许希望拥有一个标题行,一些带有数据的行,以及位于底部的一个总计行。这种划分使浏览器有能力支持独立于表格标题和页脚的表格正文滚动。当长的表格被打印时,表格的表头和页脚可被打印在包含表格数据的每张页面上。

         使用 thead、tfoot 以及 tbody 元素,您就必须使用全部的元素。它们的出现次序是:thead、tfoot、tbody,这样浏览器就可以在收到所有数据前呈现页脚了。您必须在 table 元素内部使用这些标签。

  • Roner
    2016-05-05 20:17:01

    table标签控件,用到了childNodes,节点可以用childNodes[0]来获取其第一个节点,但是有些节点是有隐藏节点的,即便你不写,它也是存在的,比如tbody,当你想用table.childNodes[0]得到的你在HTML里写的第一个<tr>节点,其实你得到的是一个tbody的节点,

    即便你不写,它也是存在的,所以当你想得到第一个tr节点时你必须这样写:table.childNodes[0].childNodes[0]。

    上面试摘取别人博客里面的内容,这里的getElementById("table").lastChild是获取了<tbody>,<tr>是<tbody>的子节点,要操作<tr>就需要获取<tbody>,所以这里要加上.lastChild。


  • Roner
    2016-05-05 20:11:14

    +1,求解,getElementById()就获取到了<table>了啊,然后增加和删除<table>中的<tr>,为什么必须要加lastChild啊?

  • weibo_咸咸鱼鱼鱼鱼鱼鱼鱼_03234671
    2016-05-04 22:02:28

    我也不知道为什么他每个都加上这个。。

  • 阿尔卑斯山车神
    2016-05-04 20:37:17

    同问 我也有这个疑问