Jquery removeClass + addClass?

时间:2013-10-09 12:45:38

标签: jquery jquery-ui jquery-ui-accordion

我正在尝试添加一个更改为我的手风琴菜单的箭头。我相信我需要Jquery的removeClass函数。

我现在已经走到这一步了:

HTML / PHP:

<dl id="narrow-by-list">
            <?php $_filters = $this->getFilters() ?>
            <?php foreach ($_filters as $_filter): ?>
            <?php if($_filter->getItemsCount()): ?>
                <dt class=""><a href="/"><?php echo $this->__($_filter->getName()) ?></a></dt>
                <dd><?php echo $_filter->getHtml() ?></dd>
            <?php endif; ?>
            <?php endforeach; ?>
</dl>

Jquery的:

<script type="text/javascript">
jQuery(document).ready(function(){
    jQuery("dl#narrow-by-list> dd:not(:first)").hide();
    jQuery("dl#narrow-by-list> dt a").click(function(){
        jQuery("dl#narrow-by-list> dd:visible").slideUp("fast");
        jQuery(this).parent().next().slideDown("fast");;

        return false;

        jQuery('.selected').removeClass('selected'); 
        thisObj.addClass('selected');
        var content = thisObj.parent().next();
        content.slideDown('fast');

        return false;
    });
});
</script>

CSS:

#narrow-by-list >  dt a {
    padding-left: 20px;
    background-image: url('/images/bullet.png');
    background-repeat:no-repeat;
    background-position: left center;
}
#narrow-by-list > dt a.selected{
    background-image: url('/images/bulletselected.png');
}

这一切都适用于手风琴菜单,并在顶级标题旁边添加一个图像。但是,我不确定选择是如何或为什么不出现在HTML中或为我更改图像?有没有人有任何想法我错了。你可以告诉我,我并不完全理解Jquery!

由于

1 个答案:

答案 0 :(得分:1)

  jQuery(document).ready(function(){
        jQuery("dl#narrow-by-list> dt").first().addClass('selected'); 
        jQuery("dl#narrow-by-list> dd:not(:first)").hide();
        jQuery("dl#narrow-by-list> dd:not(:first)").hide();
        jQuery("dl#narrow-by-list> dt a").click(function(event){
           if(jQuery(this).parent().hasClass('selected'))
           {
               return false;
           }
           event.preventDefault();
           jQuery('.selected').removeClass('selected'); 
           jQuery(this).parent().addClass('selected'); 
           jQuery("dl#narrow-by-list> dd:visible").slideUp("fast");
           jQuery(this).parent().next().slideDown("fast");                      
           return false;
        });
    });

修改 请检查此FIDDLE