私の質問はjsの専門家にとっては簡単だと思います(私はjsの初心者です)。
私のスクリプトでは、動的にテーブルを作成します。HTMLコードにはボタンがあり、このボタンをクリックしたときにすべてのテーブルセルを色で塗りつぶしたいと思います。テーブルのセルを埋めるための別の機能がありますが、私が遭遇した問題は、ボタンをクリックすると、テーブルの最後のセルだけが埋められることです。テーブルセルがループ内に作成されているため、この問題はクロージャと関係があると思います。
コードは次のとおりです。
HTML:
<button onclick='show()'>Click</button>
JS:
var obj = new Object;
obj.x = document.createElement('table');
document.body.appendChild(obj.x);
for(i=0;i<10;i++){
obj.y = document.createElement('tr');
obj.x.appendChild(obj.y);
for(j=0;j<10;j++){
obj.z = document.createElement('td');
obj.z.appendChild(document.createTextNode(j));
obj.y.appendChild(obj.z);
}
}
function fill(){
obj.z.style.backgroundColor='red';
}
//->