我正在编写一个简单的JavaScript函数,该函数需要一个td(表格单元格),并为其赋予红色边框样式或将其关闭。代码是:

function doStuff(theCell)
{
    var highlight = "2px solid rgb(255, 0, 0)";
    if(borderStyle==highlight)
    {
        theCell.style.border="";
    }
    else
    {
        theCell.style.border=highlight;
    }
}


这很好。但是,为了使代码更整洁,我尝试用一​​个变量(声明在第一个变量的下面)代替css边框样式:

var borderStyle = theCell.style.border;


当我在等式比较中使用它时,此方法可以正常工作,但当我将其放入“ else”子句中的样式分配中时,此方法行不通。

我一定在尝试做一些非常愚蠢的事情。谁能解释。

最佳答案

如果您编写诸如var borderStyle = theCell.style.border;之类的代码,则Javascript不会创建对该对象的引用。在这里,只有border值的副本分配给borderStyle。 theCell的对象在其位置保持不变。没有创建参考。

09-25 17:30