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

table的子节点问题,这个table的子节点问什么只有2个?



<!DOCTYPE html>

<html>

 <head>

  <title> new document </title>  

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


 </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>

  


  <script type="text/javascript">  




var mytr=document.getElementById("table").childNodes;

          

document.write(mytr.length);

  </script> 


 </body>

</html>


正在回答

2 回答

自己看审查元素,你写得不标准,浏览器给你加个tbody,还有一个一个子元素应该是浏览器给它加了个换行符。

我们在html上这样写的话是长度是3个(下图)

5820377a00014dc305000350.jpg


而这样写的话长度是1(下图)

582037ae0001c0ad05000333.jpg

总之:反正换行符是算一个的。与其用childNodes这种方式不如用getElementByTagName("tr")。

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

浮生凉

可能没回答清楚:你的table的子节点只有2个是因为浏览器 加了个 tbady 算一个,换行符算一个。
2016-11-07 回复 有任何疑惑可以回复我~
#2

qq_枫_ 提问者

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

浏览器给你的代码加了tbody之后,像是td tr 就不再是table的子节点,而是tbody的子节点了

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

举报

0/150
提交
取消

table的子节点问题,这个table的子节点问什么只有2个?

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