Object 动态创建表
我想我的问题对于js专家来说很简单(我是js的初学者) 在我的脚本中,我动态创建了一个表。在html代码中,我有一个按钮,当你点击这个按钮时,我希望所有的表格单元格都填充一些颜色。 我有一个单独的函数来填充表格单元格,但我遇到的问题是,当我单击按钮时,只有表格的最后一个单元格被填充。我假设这个问题与闭包有关,因为表单元格是在循环中创建的 代码如下: HTML:Object 动态创建表,object,loops,onclick,Object,Loops,Onclick,我想我的问题对于js专家来说很简单(我是js的初学者) 在我的脚本中,我动态创建了一个表。在html代码中,我有一个按钮,当你点击这个按钮时,我希望所有的表格单元格都填充一些颜色。 我有一个单独的函数来填充表格单元格,但我遇到的问题是,当我单击按钮时,只有表格的最后一个单元格被填充。我假设这个问题与闭包有关,因为表单元格是在循环中创建的 代码如下: HTML: 点击 JS: var obj=新对象; obj.x=document.createElement('table'); 文件.正文.附
点击
JS:
var obj=新对象;
obj.x=document.createElement('table');
文件.正文.附件(obj.x);
for(i=0;i每次for循环迭代时,obj.z都会被一个新的单元格覆盖,这意味着只会引用最后一个单元格。设置表中所有单元格样式的更简单方法是只需更改
本身的背景色
如果要以另一种方式执行此操作,则需要逐个循环单元格元素,并在执行时为每个元素设置样式。更简单的方法是使用,在值中添加className
属性(如本例中的theTable
),然后使用以下代码:
$('table.theTable td').css('backgroundColor','red');
这将使用classtheTable
(它使用CSS选择器)选择表中的所有
元素,并将其backgroundColor
CSS属性设置为red
您好,非常感谢您的回复!如果您能提供一些关于如何逐个遍历单元格元素的示例,我将不胜感激
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';
}
$('table.theTable td').css('backgroundColor','red');