因此,为了解释我的尝试,我有一个用css设计的数独网格,以及一些用值初始化的网格。然后,对于没有价值的网格,我会动态设置一个输入'框。
我遇到的部分是如何将值设置为' grid []'对象,只有在数独填充了所有值之后。
这是一种正确的方法,我如何检查所有的''元素具有设置的innerHTML值,然后将这些值初始化为' grid [i] [j]'。
HTML
<table id="grid">
<tr class="row">
<td></td>
<td></td>
<td></td>
<td></td>
<td>2</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr class="row">
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>4</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr class="row">
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr class="row">
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>6</td>
<td></td>
</tr>
<tr class="row">
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr class="row">
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr class="row">
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr class="row">
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr class="row">
<td></td>
<td></td>
<td></td>
<td>9</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
CSS
table{
margin: 1em auto;
}
tr:first-child{
border-top:solid;
}
tr:nth-child(3n) td{
border-bottom: solid;
}
td{
height: 25px;
width: 25px;
border: 1px solid;
text-align: center;
}
td:first-child{
border-left: solid;
}
td:nth-child(3n){
border-right: solid;
}
td input{
height: 25px;
width: 25px;
}
的JavaScript
window.onload = function(){
var grid = [];
var obj = document.getElementsByTagName('td');
for(var prop in obj){
if(obj[prop].innerHTML == ''){
obj[prop].innerHTML += '<input id="value" type="text" value="'+ obj[prop].innerHTML+'" />'
}
}
setValues(grid);
};
function setValues(grid){
for(var i =0; i < 9; i++){
for(var j =0; j < 9; j++){
grid[i][j] = '';
}
}
}