这个为什么获取不到table的tr的length呢
var tr = document.getElementsByTagName("tr"); document.write(tr.length); //输出0
var tr = document.getElementsByTagName("tr"); document.write(tr.length); //输出0
2018-03-27
发现我刚刚那个回答没有说到点上,重答一遍。
题目给的代码,script部分是在head中的,先于body的内容执行,所以在执行这两句代码的时候,页面中根本就没有表格,于是输出的长度为0.
改进方法为:在<input type="button" value="添加一行" />之后,写上以下代码,
<script type="text/javascript">
var tr = document.getElementsByTagName("tr");
document.write(tr.length);
</script>
这样,在访问tr的length属性时,页面中就有三行了,于是输出结果为3.
你可以观察你的代码写在head和写在body里面的时候,数字0和数字3的输出位置,0是表格之前输出的,而3是在表格之后输出的。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> var tr = document.getElementsByTagName("br") document.write(tr.length) </script> </head> <body> <table> <tr><td>1</td><td>2</td><td>3</td></tr> <tr><td>1</td><td>2</td><td>3</td></tr> <tr><td>1</td><td>2</td><td>3</td></tr> </table> </body> </html> //谢谢回答,不过我这个为什么输出是0啊
举报