我正在尝试添加一个更改为我的手风琴菜单的箭头。我相信我需要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!
由于
答案 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