如果父div有一个已经添加了dinamically的类,我需要添加或删除一个类。我试过这个,但只有在点击时才有用。我需要检测是否已添加类,即使我没有单击它。所以,问题是:如何在添加类时执行函数,而不是在单击?
时执行$(".accordion > .fa").click(function(){
if ($(this).parent().hasClass("active")) {
$(this).removeClass('fa-angle-up');
$(this).addClass('fa-angle-down');
}
else
{
$(this).removeClass('fa-angle-down');
$(this).addClass('fa-angle-up');
}
});
答案 0 :(得分:1)
jQuery('.accordion').each(function(){
if ($(this).hasClass('active')){
$(this).children('.fa').removeClass('fa-angle-up');
$(this).children('.fa').addClass('fa-angle-down');
}else{
$(this).children('.fa').removeClass('fa-angle-down');
$(this).children('.fa').addClass('fa-angle-up');
};
});
此代码需要作为设置/取消设置.accordion元素的事件的回调函数运行。
答案 1 :(得分:0)
使用$(this).parent(“active”)。你应该使用click函数选择器作为$(“。accordion .fa”)。删除不必要的“>”来自选择器。 Javascript代码就像是跟随。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(e) {
$(".accordion .fa").click(function(){
if ($(this).parent("active")) {
$(this).removeClass('fa-angle-up');
$(this).addClass('fa-angle-down');
}
else
{
$(this).removeClass('fa-angle-down');
$(this).addClass('fa-angle-up');
}
});
});
</script>