79351
2018-03-27 22:57
var tr = document.getElementsByTagName("tr"); document.write(tr.length); //输出0
发现我刚刚那个回答没有说到点上,重答一遍。
题目给的代码,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是在表格之后输出的。
var table = document.getElementById("table");
document.write(table.childNodes.length);
我用这个,可以顺利输出。
var tr = document.getElementsByTagName("br") ; 你里面写的是br 不是tr 当然是0啦
<!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啊
不好意思,弄错了,我试了,你这个代码是可以正确输出tr的length
function getLength(){
var tr = document.getElementsByTagName("tr");
document.write(tr.length);
}
var
tr = document.getElementsByTagName(
"tr"
);
document.write(tr[0].length);
JavaScript进阶篇
468194 学习 · 21891 问题
相似问题