Сейчас этот JQuery работает просто отлично:рубин переменной в JQuery блоке показать/скрыть
:javascript
$("#catExpander1").click(function() {
$("#category1").toggle("fast", function() {
});
});
Но, конечно, есть большая проблема: он не может быть повторно использована, чтобы показать/скрыть другие дивы. Как заменить жестко кодированные идентификаторы на переменные?
Для связи:
настоящее время я использую это в приложении рельсы, чтобы показать/скрыть подкатегории под их родительской категории, которые все внутри царгами списка категории навигации. Единственный способ, которым я могу думать о себе, чтобы сделать это создать отдельный блок Jquery для каждой категории и подкатегории, но, конечно, это ужасно подход, поскольку он требует большого количества повторяющихся, не подлежит повторному использованию и т.д.
Это звучит, как вы можете сделать это, используя классы и функцию обхода, но я думаю, что мы должны увидеть некоторый HTML, чтобы дать лучший ответ. –
''. # Category1 "' это довольно сломанный селектор, я не могу поверить, что сейчас что-то делает для вас. – meagar
Здесь вам не нужен рубин. использование атрибутов данных или привязка $ .toggle() к классам, которые вы добавите к элементам, которые вы хотите переключить, - это правильный способ сделать это.Вы можете использовать ruby для присоединения класса или лучше: создать службу, которая возвращает json скрытых элементов, и применить его, когда dom будет готов – silicakes