【问题标题】:expand collapse treenode using jquery使用 jquery 展开折叠树节点
【发布时间】:2011-05-29 21:34:52
【问题描述】:

每当一个特定的孩子有多个孩子时,我都会在树中使用 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 循环但它没有进入我不知道为什么你能告诉我。

【问题讨论】:

    标签: javascript jquery asp.net-mvc


    【解决方案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'});
    });
    

    【讨论】:

    • 也可以修改图片的src属性,但是推荐使用classes
    • removerClass 应该是 removeClass - 但 toggleClass 将允许您放弃条件。
    猜你喜欢
    • 1970-01-01
    • 2013-07-01
    • 1970-01-01
    • 2018-01-25
    • 2013-08-17
    • 1970-01-01
    • 2012-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多