为了账号安全,请及时绑定邮箱和手机立即绑定

这个tbody值是什么?

var tbody = document.getElementById('table').lastChild;

正在回答

3 回答

经过测试我发现在table标签后其实不是html文档中所写的tr标签,而是TBODY标签。这是测试代码

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>

</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:;" >删除</a></td>   <!--在删除按钮上添加点击事件  -->
  </tr>

  <tr>
<td>xh002</td>
<td>刘小芳</td>
<td><a href="javascript:;" >删除</a></td>   <!--在删除按钮上添加点击事件  -->
  </tr>  

  </table>
  <input type="button" value="添加一行"  />   <!--在添加按钮上添加点击事件  -->
  <script type="text/javascript">
  var a = document.getElementById('table');
  var b = a.childNodes;
  for (var i = 0; i < b.length; i++) {
   document.write("<br/>"+b[i].nodeName);
  }
  
  </script>
</body>
</html>

所得结果为

#text
TBODY

很明显的可以看到,table只有两个子节点,第一个#text是table标签后的空白节点,而TBODY则是空白节点后的节点。相当于浏览器自动加载了一个TBODY节点,将原先table标签的子节点全部保存进了TBODY。

2 回复 有任何疑惑可以回复我~
#1

果冻上树 提问者

非常感谢!
2016-04-14 回复 有任何疑惑可以回复我~

<!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(){

    Highlight();

}  

function addOne(obj){ 

   var tbody = document.getElementById('table').lastChild;  

var tr = document.createElement('tr');  

 

var td = document.createElement("td");

td.innerHTML = "<input type='text'/>";

tr.appendChild(td);

 

td = document.createElement("td");  

td.innerHTML = "<input type='text'/>";

tr.appendChild(td);

 

td = document.createElement("td");

td.innerHTML = "<a href='javascript:;' onclick='deleteRow(this)'>删除</a>";

tr.appendChild(td);   

 

tbody.appendChild(tr);   

Highlight();

    }


function deleteRow(obj){

   var tbody = document.getElementById('table').lastChild;  

var tr = obj.parentNode.parentNode;

tbody.removeChild(tr);

}

function Highlight(){

var tbody = document.getElementById('table').lastChild;

        

trs = tbody.getElementsByTagName('tr');   

for(var i =1;i<trs.length;i++){

trs[i].onmouseover = function(){

this.style.backgroundColor ="#f2f2f2";

trs[i].onmouseout = function(){

this.style.backgroundColor ="#fff";

}  

}



  </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="deleteRow(this)" >删除</a></td>   <!--在删除按钮上添加点击事件  -->

  </tr>


  <tr>

<td>xh002</td>

<td>刘小芳</td>

<td><a href="javascript:;" onclick="deleteRow(this)" >删除</a></td>   <!--在删除按钮上添加点击事件  -->

  </tr>  


  </table>

  <input type="button" value="添加一行" onclick="addOne()" />   <!--在添加按钮上添加点击事件  -->

 </body>

</html>

请问指的是哪些?

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

id 为 table 的节点的最后一个子节点

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

举报

0/150
提交
取消

这个tbody值是什么?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信