jQuery Показать / Скрыть div, используя тот же класс не работает из-за html.push? - PullRequest
0 голосов
/ 14 декабря 2011

Цель - показать-скрыть текст, расположенный под соответствующими заголовками, поэтому пользователь читает заголовок и показывает или скрывает текст, принадлежащий этому заголовку, если пользователь хочет прочитать больше.

Я пробовал все, чтоможно найти здесь, мы говорим о динамической настройке текста из электронной таблицы, не можем использовать идентификаторы, должны работать с .class, что-то пропущено, у меня есть этот фрагмент кода:

... html.push('<div class="comments">' + comment + '</div></div></div>');

но когда я пытаюсь это сделать Показать-Скрыть код , ничего не происходит, даже если на консоли ошибок ничего не отображается.По сути, я хочу показать-скрыть div .comments класса с помощью переключателя show-hide, расположенного под каждым из них.Я говорю их , потому что элементы .comments воспроизводятся динамически при извлечении текста, поступающего из ячеек / строк таблицы Google (по одному элементу .comments на строку таблицы).Я пробовал .next, child и parent, но все они развелись, поэтому я не знаю, как выглядит проблема с динамикой.До сих пор мне удавалось только глобально переключать все элементы div в видимое или скрытое состояние, но мне нужно было переключать независимые элементы div.

Я предпочитаю решение jQuery, но все, что работало до сих пор, было достигнуто с помощью нативного javascript.

Примечание. Если бы проще было реализовать кросс-браузерную усеченную функцию, которая добавляла бы более-менее ссылку после числа слов (var) в каждом .comments div, то я с радостью воспользовался бы этой опцией.Спасибо за любую помощь, помните, я все еще учусь лол!

1 Ответ

1 голос
/ 14 декабря 2011

Я работал над полностью JS-проектом с пользовательским интерфейсом и решил использовать $ ('', {properties}). AppendTo (BaseElement) для лучшей работы при добавлении элементов HTML, потому что он каждый раз соответствующим образом манипулирует DOM.

Однако, если вам повезло с push в другом месте, установите точку останова на строке, где вы делаете свой $ ('. Class'). Hide (), и посмотрите, что такое $ ('. Class'). Length.Кроме того, вы можете просто добавить предупреждение ($ ('. Class'). Length) в ваш код, если вы не можете установить точку останова.Если это 0, то ваши элементы не были правильно добавлены в DOM.Изменение добавления добавит, что они будут частью DOM и, следовательно, будут доступны через JQuery.

...