1

我最近遇到了一个问题,我已经解决了。

但是,我现在有一个不同的问题。我希望代码只切换第 2 列和第 3 列中单元格的可见性。

我不知道如何解决这个问题,我对 JavaScript 的了解很少。

此外,最好让第 2 行和第 3 行中的所有单元格自动切换为不可见,但这不是必需的。

编辑:

为了方便起见,我只复制了我以前问题的解决方案。

function tableclick(e) 
{
    e = e || window.event;
    var target = e.target || e.srcElement;
    while(target != this && (!target.tagName || target.tagName != "TD")) target = target.parentNode;
    if( target != this) 
    {
        toggleVis(target)
    }
}

function toggleVis(obj) 
{
    if ( obj.style.fontSize != "0px" ) 
    {
        obj.style.fontSize = "0px"
    }
    else 
    {
       obj.style.fontSize = "16px"
    }
}
4

2 回答 2

1
function tableclick(e) 
{
    e = e || window.event;
    var target = e.target || e.srcElement;
    while(target != this && (!target.tagName || target.tagName != "TD")) target = target.parentNode;
    if( target != this && (target.cellIndex == 1 || target.cellIndex == 2)) 
    {
        toggleVis(target)
    }
}
于 2012-10-15T11:07:52.063 回答
0

我通过做一些我从未想过会真正起作用的事情来解决它,但是你有它......

function tableclick(e) 
{
    var ColNum=1;
    if(navigator.userAgent.indexOf("MSIE")!=-1) {
        if(event.srcElement.tagName=="TD") {
            ColNum+=event.srcElement.cellIndex;
            }
        }
    else {    
        if (e.target == "[object HTMLTableCellElement]") {
             ColNum+=e.target.cellIndex;
             }
        }
    if (ColNum == 2 || ColNum == 3)
    {    
    e = e || window.event;
    var target = e.target || e.srcElement;
    while(target != this && (!target.tagName || target.tagName != "TD")) target = target.parentNode;
    if( target != this) 
    {
        toggleVis(target)
    }
    }
}
于 2012-10-15T09:07:39.440 回答