大家好!我现在要处理在Table中某行任一控件获得焦点该行即变色,失去焦点则恢复原色的问题,初步想法是用一个全局变量保存变色前的行对象,代码如下:////////////////////////////////////////////////////////////////////
var DBGridPreFocusRow;//全局变量,保存行function ChangeCurrentRowColor(o,RowColor,TextColor)
{
var CurrentCell = o.parentNode;
var CurrentRow = o.parentNode.parentNode;
DBGridPreFocusRow = CurrentRow.cloneNode(true);//复制行对象
alert(DBGridPreFocusRow.cells.length);//弹出框显示cells长度为0
for(var i=0;i<=CurrentRow.cells.length - 1;i++)
{
var ccl = CurrentRow.cells(i).childNodes(0);
ccl.style.backgroundColor = RowColor;
ccl.style.color = TextColor;
}
}运行后,弹出框显示cells长度为0, 即行对象没复制成功!请大家给看看,我这段代码写得有什么问题?
var DBGridPreFocusRow;//全局变量,保存行function ChangeCurrentRowColor(o,RowColor,TextColor)
{
var CurrentCell = o.parentNode;
var CurrentRow = o.parentNode.parentNode;
DBGridPreFocusRow = CurrentRow.cloneNode(true);//复制行对象
alert(DBGridPreFocusRow.cells.length);//弹出框显示cells长度为0
for(var i=0;i<=CurrentRow.cells.length - 1;i++)
{
var ccl = CurrentRow.cells(i).childNodes(0);
ccl.style.backgroundColor = RowColor;
ccl.style.color = TextColor;
}
}运行后,弹出框显示cells长度为0, 即行对象没复制成功!请大家给看看,我这段代码写得有什么问题?
只能通过DBGridPreFocusRow.childNodes来获得子节点,不能通过cells
保存全局变量DBGridPreFocusRow=CurrentRow;就可以了,为什么要clone呢