Jquery -切换图像Src如果父类被点击隐藏/显示



我有一个程序,配置为隐藏/显示表行时,单击+/-图标。该功能正在工作,但是,我需要找出一种方法来重置所有隐藏/显示图标时,父类别被关闭。

$(function(){
//src vars
var hide_src = "http://www.synchronizeddesigns.com/filter_hide.gif",
    reveal_src = "http://www.synchronizeddesigns.com/filter_reveal.gif",
        s = '';
//hide all sublevel elements
$(".subsub, .subsubsub").hide();
$("a").click(function(e){
    e.preventDefault();
    var tID = e.target.id,
        tClass = '.' + tID.replace('HS', '');
    $(tClass).toggle();
    if(!$(tClass).is(':visible')){
        s = hide_src;
        //for each subcategory
        $(tClass).each(function(){
            //get class names into classes array
            var classes = $(this).attr('class').split(' '),
                parentClass = '';
            //search classes array for class that begins with 'cat'
            for (var j=0; j<classes.length; j++) {
                if (classes[j].match("cat")){ 
                    parentClass = classes[j];
                }
            }
            //find subsubsub elements that have a class that begins with 'cat#sub'
            var subs = $('[class*=' + parentClass + 'sub]');
            //if there are sub elements, hide them too
            if(subs){
                subs.hide();
                /*****************************************************
                NEED HELP HERE !!!!!!!!!!
                Need a way to reset all hide/show images icon
                when 'parentClass' hide/show is clicked to close.
                *****************************************************/
            }
        });
    } else {
        s = reveal_src;
    }
    //Change image src
    $("#" + tID).attr('src', s);
});
});

复制:切换打开所有父节点和子节点,然后关闭其中一个父节点,然后重新打开父节点。你会注意到+/-图标保持在它之前的状态

jsFiddle链接

您可以找到当前子类别下的img节点,然后更改其src attr。

我已经更新了你的jsfiddle: http://jsfiddle.net/nTyWv/12/

代码可以是这样的:

            if(subs){
                innerIcons = jQuery.find("a > img[id*="+tID+"sub]");
                if (innerIcons) {
                    $(innerIcons).attr('src', s);
                };
                subs.hide();
            }

最新更新