消息关闭
    暂无新消息!

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>div100</title>
<style>
div{
 width: 50px;
 height: 50px;
 border: 1px solid #DCDCDC;
 background: deeppink;
 position: absolute;
 left: 0;
 top: 0;
 font-size: 24px;
 color: white;
 font-weight: bold;
 text-align: center;
 line-height: 50px;  
}
</style>
<script>
window.onload = function(){
var aDiv = document.getElementsByTagName('div');

var str = "";
for(var i = 0,j = 0;i<100;i++ ){
str += "<div>"+ i + "</div>";
}
document.body.innerHTML = str;


for(var i = 0;i<aDiv.length;i++){
aDiv[i].style.left = (i%10-1)*60 + "px";
if(i%10 == 0 && i!= 0){
aDiv[i].style.top = (i%10-1)*60 + "px";
}
}

}
</script>
</head>
<body>

</body>
</html>


3个回答

︿ 0
首先,div 是块级元素 独占一行,所以每十个换一行你要把 div 的 css样式改为 
display:inline-block

其次,你代码中的aDiv 是Object 对象,不是数组对象(可以通过typeof 查看),所以js中的第二段代码aDiv[i] 是无效的
最后,每个div块之间的间距可以通过css实现,为了方便我就不改了
附上代码(js的)
window.onload = function() {
            var aDiv = document.getElementsByTagName('div');
            var str = "";
            for (var i = 1; i <= 100; i++) {
                if(i%10==0 && i!=0){
                     str += "<div>" + i + "</div>"+"<br>";
                }else
                str += "<div>" + i + "</div>";
            }
            document.body.innerHTML = str;
        }
︿ 0

for(var i = 0;i<aDiv.length;i++){
aDiv[i].style.left = (i%10)*60 + "px";
aDiv[i].style.top = Math.floor(i/10)*60 + "px";
}