亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

這個為什么獲取不到table的tr的length呢

var?tr?=?document.getElementsByTagName("tr");
document.write(tr.length);

//輸出0


正在回答

6 回答

發現我剛剛那個回答沒有說到點上,重答一遍。

題目給的代碼,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是在表格之后輸出的。

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

79351 提問者

非常感謝~~~
2018-04-06 回復 有任何疑惑可以回復我~

?var table = document.getElementById("table");

document.write(table.childNodes.length);

我用這個,可以順利輸出。


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

var?tr?=?document.getElementsByTagName("br") ?; ?你里面寫的是br 不是tr ?當然是0啦

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

79351 提問者

不行啊,我換tr也輸出0啊
2018-03-29 回復 有任何疑惑可以回復我~
<!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啊


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

不好意思,弄錯了,我試了,你這個代碼是可以正確輸出tr的length

function getLength(){
?? ??? ??? ?var tr = document.getElementsByTagName("tr");
?? ??? ??? ?document.write(tr.length);
?? ??? ?}

0 回復 有任何疑惑可以回復我~
var?tr?=?document.getElementsByTagName("tr");

document.write(tr[0].length);

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

舉報

0/150
提交
取消

這個為什么獲取不到table的tr的length呢

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號