Учитывая, что ваши события кликов, кажется, привязаны к флажкам (на основе имен классов, которые есть в вашем примере), почему бы на самом деле не предоставить код для обработки событий щелчков для этих флажков? Например:
<div id='my_group_of_checkboxes'>
<input type="checkbox" id="checkbox1">
<input type="checkbox" id="checkbox2">
...
</div>
И ваш код jQuery затем сокращается до трех строк:
$('#my_group_of_checkboxes :checkbox').click(function(){
$(this).parent('div').hide('fast');
});
Похоже, вам также необходимо скрыть элементы <div>
, связанные с каждым флажком:
$('div[class^="product-optional"]').hide();
Несмотря на то, что селекторы идентификаторов были бы лучшим вариантом здесь, и, в зависимости от их положения на вашей странице, вы можете даже получить что-то вроде:
$('#my_container_div_id div').hide();
Если вы можете опубликовать часть своего HTML-кода, это также может помочь предоставить более точные ответы.