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);