$('.close').click(function(){
$(this).closest('.ui-accordion-content').toggleClass('ui-icon-triangle-1-s');
As you could have found out yourself with a little simple debugging, $(this).closest('.ui-accordion-content')
does not match any element here. (That’s because your close button is within div.ui-accordion-content
, and the h3.ui-accordion-header
is the previous sibling of that div
element.)
Simple to fix: Go up to parent div
(.ui-accordion-content
), get previous h3
(.ui-accordion-header
), and then the span
(.ui-accordion-header-icon
) element within it:
$(this).parents('.ui-accordion-content')
.prev('.ui-accordion-header')
.find('.ui-accordion-header-icon')
.removeClass('ui-icon-triangle-1-s')
.addClass('ui-icon-triangle-1-e');