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 に答える