JQ не видит новоиспеченные элементы сгенерированные по средствам .after()

Рейтинг: 0Ответов: 1Опубликовано: 29.03.2023
  reInstalSelect(n)

  while ($(".d7-body:nth-child(" + n+2 + ")").length == 0){
    reInstalSelect(n)
  }


function reInstalSelect(n){
  console.log(n);
  console.log($(".d7-body:nth-child(" + n+2 + ")"))

  $(".d7-body:nth-child(" + n+2 + ") .d7-head-top .standart-niceSelect:nth-child(1) option").prop("selected",false)
  $(".d7-body:nth-child(" + n+2 + ") .d7-head-top .standart-niceSelect:nth-child(1) option").each(function (){
    if($(this).html() == name ){
      $(this).prop("selected",true)
    }
  })


  $(".d7-body:nth-child(" + n+2 + ")  .standart-niceSelect").niceSelect()
}

В общем я добавляю блок через .after когда я добавляю первый и второй блок все работает ОК, но вот с третьего блока js его перестает видеть а мне в этом блоке нужно инициализировать селект

Уже сделал и цикл while который будет искать этот блок пока не найдет , но к сожалению он просто гоняет цикл бесконечно

При этом если в консоле к этому блоку обратится то все норм

Ответы

▲ 0
  i = 0;
  $(".d7-body").each(function (){
     if(n + 1 == i) {
       $(this).find(".d7-head-top .standart-niceSelect:nth-child(1) option").prop("selected",false)
       $(this).find(".d7-head-top .standart-niceSelect:nth-child(1) option").each(function (){
         if($(this).html() == name ){
           $(this).prop("selected",true)
         }
       })
       $(this).find(".standart-niceSelect").niceSelect()
     }
    i++;
  })

после каждого добавления через each ищу элемент номер которого соответствует с n Пока что это единственное решение которое четко работает