日期:2014-05-17  浏览次数:20707 次

获取tr.style.Display时报对象为空或未定义的错误...


// 切换节点状态(只处理节点的展开/关闭状态)
// toggleBy -- 引发Toggle事件的控件
function TreeGrid_ToggleNodeExpandState(toggleTd, toggleTr, nodeR)
{
    var td;
    var tr;
    td = toggleTd;
    tr = toggleTr;
    
    var nodeC = TreeGrid_GetNodeChildrenRelation(nodeR, true);  // 获得节点所有的子孙节点(不包括自己)(深度遍历)
    if (!nodeC) {return;}

    var expand = (nodeR.e == "e") ? false : true;               // 根据节点的状态,判断进行展开还是关闭
    nodeR.e = (nodeR.e == "e") ? "c" : "e";                     // 切换节点的状态
    tr = tr.nextSibling;                                        // 
    var nodeChildrenCount = 0;                                  // 直接子节点数
    
    if (tr && (nodeC.length > 0)) {
        var directChildExpanded = false;
        for (var cIndex = 0; cIndex < nodeC.length; cIndex++) { // 循环--巧妙的循环(各行tr是深度遍历的结果,nodeC也是深度遍历的结果)
            if (!expand) {
                tr.style.display="none";//这里是报错代码                                                 // 切换为关闭状态 -- 设置节点的直接子节点pe = "c".
                //tr.style.display = "none";
                // 只处理直接子节点