2017-11-17 106 views
1

因爲我沒有線索後做研究,我有點問。javascript輸出[對象HTMLCollection]

所以下面的代碼應該輸出數組內部作爲一個簡單的塊更精確的div。 出於某種原因,每個「B01」將被輸出爲[對象HTMLCollection],而不是css中定義的塊。 那麼如何發生,我該如何解決?

var B01 = document.getElementsByClassName("block_matrix"); 
 

 
var level = [B01, B01, B01,B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01 , B01, 
 
\t \t \t B01, B01, B01,B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01 , B01, 
 
\t \t \t B01, B01, B01,B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01 , B01, 
 
\t \t \t B01, B01, B01,B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01 , B01, 
 
\t \t \t B01, B01, B01,B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01 , B01, 
 
\t \t \t B01, B01, B01,B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01 , B01, 
 
\t \t \t B01, B01, B01,B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01 , B01, 
 
\t \t \t B01, B01, B01,B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01 , B01, 
 
\t \t \t B01, B01, B01,B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01 , B01, 
 
\t \t \t B01, B01, B01,B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01 , B01, 
 
\t \t \t B01, B01, B01,B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01 , B01, 
 
\t \t \t B01, B01, B01,B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01 , B01, 
 
\t \t \t B01, B01, B01,B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01 , B01, 
 
\t \t \t B01, B01, B01,B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01 , B01, 
 
\t \t \t B01, B01, B01,B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01 , B01, 
 
\t \t \t B01, B01, B01,B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01 , B01, 
 
\t \t \t B01, B01, B01,B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01 , B01, 
 
\t \t \t B01, B01, B01,B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01 , B01, 
 
\t \t \t B01, B01, B01,B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01 , B01, 
 
\t \t \t B01, B01, B01,B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01 , B01, 
 
\t \t \t B01, B01, B01,B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01, B01 , B01]; 
 
\t \t \t 
 

 
\t \t document.write(level); 
 
\t \t
body, html{ 
 
\t margin:0; 
 
\t border:0; 
 
\t width:100%; 
 
\t height:100%; 
 
\t background-color: grey; 
 
} 
 
#game{ 
 
\t width:90%; 
 
\t height: 90%; 
 
\t margin: 0 auto; 
 

 
} 
 

 
.block_matrix{ 
 
\t width:5%; 
 
\t height:5%; 
 
\t background-color:orange; 
 
\t z-index:1; 
 
\t position:absolute; 
 
}
<!DOCTYPE HTML> 
 
<head> 
 
<meta name="viewport" content="width=device-width, initial-scale=1"> 
 
<script src="script/main.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
 
<link rel="stylesheet" href="gfx/style.css" media="screen" /> 
 

 
</head> 
 

 
<body> 
 

 

 
<div id="game"> 
 
<script> 
 
</script> 
 

 
</div> 
 

 
<div class="block_matrix"> 
 
</div> 
 

 

 

 
</body> 
 

 
</HTML>

+1

這完全不清楚你期望'document.write()'調用做什麼 – Pointy

回答

0

嘗試

var B01 = document.getElementsByClassName("block_matrix")[0]; 

var B01 = document.getElementsByClassName("block_matrix")[0].outerHTML; 

這將解決當前的問題,但你會因爲你使用document.write滿足另一個問題()

+0

我應該用什麼來代替?我認爲它的工作到目前爲止,你提到。 – Pad

+0

我不太確定你的意圖是什麼,但是現在你將所有的HTML替換爲關卡,好像你想添加很多block_matrix,但是仍然保留遊戲,這樣就可以解決問題。對於(var i = 0; i Pavlo

+0

是錯誤的我想我找到了我需要的東西。首先謝謝你。 – Pad