Я создаю простую функцию onclick, которая скрывает divs с тем же номером цикла, что и ссылка. Я ударился головой о кирпичную стену, пытаясь заставить работать не селектор.
В псевдо, я хочу, чтобы все divs с классом начинались с "title". ИСКЛЮЧАЕТ текущую, чтобы перейти на 0px по высоте.
$('div.[class^="title"]:not([class='title<?php echo $count;?>'])').css('height', '0px');
$ count - текущий цикл.
Это строка, которую мне удалось создать. Правильно ли этот синтаксис?
ИСПРАВЛЕНО! После нескольких часов попыток заставить этот код работать, я понял (незадолго до @Tushar). Проблема заключалась в том, что я использовал несколько классов. Я изменил "заголовок" на ID. Теперь все работает отлично.
Спасибо всем за вашу помощь.
окончательный код выглядел так:
$('#title<?php echo $count; ?>').animate({ opacity: "1", height: "300px" },{queue: false, duration: 200} );
$('div[id^="title"]').not('div[id$="title<?php echo $count; ?>"]').css('opacity', '0');
Пытаться
$('div.[class^="title"]:not([class="title<?php echo $count;?>"])').css('height', '0px');
//Changed single to double quote ^ ^
jQuery(function($) { $(document).ready(function(){ $('a.title<?php echo $count; ?>').click(function() { $('div.title<?php echo $count; ?>').animate({ opacity: "1" },{queue: false, duration: 200} ) .animate({ height: "300px" }, 200 ); $('div.[class^="title"]:not([class="title<?php echo $count;?>"])').css('height', '0px'); $('div.[class^="title"]:not([class="title<?php echo $count;?>"])').css('opacity', '0'); }); }); });
У вас есть синтаксическая ошибка в вашем коде. Вы должны использовать двойную кавычку вместо одиночной кавычки на вашем Javascript. Поэтому правильным является то, что вы используете:
$('div.[class^="title"]:not([class="title<?php echo $count;?>"])').css('height', '0px');
Я думаю, если вы попробуете это, это должно сработать!