2017-11-17 41 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