使用jquery展开折叠treenode

时间:2010-12-23 10:09:58

标签: javascript jquery asp.net-mvc

我正在树中使用jquery创建树,只要有一个孩子为特定的孩子提供切换效果。这意味着点击它时应该有一个加号图标树应该展开和负图像应该点击减去树应该崩溃,加上图像应该来。

如何开发这个树节点的任何工作示例都会有所帮助

以这种方式我使用了你的功能

function createSpanImageNode(spnNew) {
    var spnImage = document.createElement("span");
    spnImage.id = spnNew + "_" + "spn1";
    $(spnImage).addClass('SpanPlus');
    spnImage.setAttribute('onclick', 'toogleNode("' + spnImage.id + '")');
    return spnImage;
}

function toogleNode(spnID) {
        debugger;
        var dv = $("#" + spnID).parents("div:first");
        var chkUl = $(dv).find('ul').length;
        if (chkUl.length > 0) {
            if ($("#" + spnID).hasClass('SpanPlus'))
                $("#" + spnID).removeClass('SpanPlus').addClass('SpanMinus');
            else
                $("#" + spnID).removeClass('SpanMinus').addClass('SpanPlus');
            $(dv).find('ul').animate({ height: 'toggle' });
        }
    }

但是当它获得chkul值1时,意味着它必须进入if 循环,但它没有进入我不知道为什么你能告诉我。

1 个答案:

答案 0 :(得分:1)

我不确定你的树形结构,但你可以使用这样的东西。

$(img.handle).click(function(){
    if($(this).hasClass('plus'))
        $(this).removerClass('plus').addClass('minus');
    else
        $(this).removerClass('minus').addClass('plus');
    $(this).find('child').animate({height: 'toggle'});
});