JQuery вложенный цикл Id цикла

0

У меня есть следующая функция jQuery, выполняющая slideToggle на вложенных div id

    jQuery("#100011000110001>#level0>#level3").live('click',function(){
        jQuery("#10001100011000110001>#level0>#level4").slideToggle("slow")
        jQuery("#10001100011000110002>#level0>#level4").slideToggle("slow")
        jQuery("#10001100011000110003>#level0>#level4").slideToggle("slow")
        jQuery("#10001100011000110004>#level0>#level4").slideToggle("slow")
        jQuery("#10001100011000110005>#level0>#level4").slideToggle("slow")
        jQuery("#10001100011000110006>#level0>#level4").slideToggle("slow")
        jQuery("#10001100011000110007>#level0>#level4").slideToggle("slow")
        jQuery("#10001100011000110008>#level0>#level4").slideToggle("slow")
        jQuery("#10001100011000110009>#level0>#level4").slideToggle("slow")
        jQuery("#10001100011000110010>#level0>#level4").slideToggle("slow")
        jQuery("#10001100011000110011>#level0>#level4").slideToggle("slow")
        jQuery("#10001100011000110012>#level0>#level4").slideToggle("slow")
        jQuery("#10001100011000110013>#level0>#level4").slideToggle("slow")
        jQuery("#10001100011000110014>#level0>#level4").slideToggle("slow")
        jQuery("#10001100011000110015>#level0>#level4").slideToggle("slow")
        jQuery("#10001100011000110016>#level0>#level4").slideToggle("slow")
        jQuery("#10001100011000110017>#level0>#level4").slideToggle("slow")
        jQuery("#10001100011000110018>#level0>#level4").slideToggle("slow")
        jQuery("#10001100011000110019>#level0>#level4").slideToggle("slow")
        jQuery("#10001100011000110020>#level0>#level4").slideToggle("slow")
        jQuery("#10001100011000110021>#level0>#level4").slideToggle("slow")
        jQuery("#10001100011000110022>#level0>#level4").slideToggle("slow")
        jQuery("#10001100011000110023>#level0>#level4").slideToggle("slow")
});

где # 10001100011000110001 и т.д. - это дочерние divs родительского div # 100011000110001

Может кто-нибудь сказать мне, какой цикл я могу использовать для замены повторяющихся строк каждого вложенного ребенка

спасибо заранее

  • 3
    Ааа, мои глаза :) У тех дивов общий класс!
  • 3
    Поскольку вы можете идентифицировать элементы по их id вы можете игнорировать элементы-предки и выбирать по id который вы, очевидно, знаете. У вас неверный HTML, если у вас есть какие-либо элементы с id ; id должен быть уникальным в документе . Кроме того, live() устарела в jQuery 1.7 и полностью удалена в jQuery 1.9 (и выше); он был заменен on() .
Показать ещё 1 комментарий
Теги:
loops
nested
accordion

3 ответа

0

Если я правильно прочитаю ваш код, единственное, что вы в основном хотите:

$("#level3").on('click',function(){
  var $level4 = $('#level4');
  for (var i=0; i<20; i++) {
    $level4.slideToggle("slow");
  }
});
  • 0
    Это не сработает. $ level4 будет только одним элементом, который вы просто собираетесь сдвинуть. Переключите его 20 раз. Проблема в том, что у него слишком много div с одним и тем же ID
  • 0
    Идентификатор может появиться только один раз, верно? Так что, кроме того, для меня это не имеет особого смысла - это правильный перевод данного кода Майклом Мигелем.
Показать ещё 3 комментария
0

Замените их неявным циклом. дать всем level4 класс "level4", а затем выбрать его по классу.

$(".level4").slideToggle("slow");

это будет охватывать все элементы, соответствующие селектору ".level4" и slidetoggle каждого из них.

0

Можно ли предположить, level10 идентификатор level10 используется только в соответствующих div?

  jQuery("*>#level0>#level4").slideToggle("slow")
  • 0
    Энтони У меня # level0> # level4 дети с разными родителями, и я хочу выбрать только подходящих детей

Ещё вопросы

Сообщество Overcoder
Наверх
Меню