• Почему не работает jQuery код?

    vicodin
    @vicodin
    Имею некоторый опыт
    $(".rem").on('click', function(){
      $(this).parent().remove();
     })
    $(".line").click(function(){
      $(this).toggleClass("show");
    })


    это не работает корректно, потому что нужно на создаваемые элементы вешать ивенты через $(parent).on('click', '.child', fn)

    Ну, то есть, в вашем случае напишите $(elem).on('click', '.rem', fn) и $(elem).on('click', '.line', fn), где fn - ваши колбеки с remove() и toggleClass()
    Ответ написан
    Комментировать
  • Почему не работает jQuery код?

    ну самое главное почему не будет работать это то что в DOM дереве нет ваших .rem и .line в такой нотации можно предложить только повесить на document (глобальный) тогда даже при динамическом добавлении элементов у вас все будет работать. ну или второй вариант переписать вот так
    var text = $('<p class="line"></p>').on('click', function(){
            $(this).toggleClass("show");
            }).text(val);

    $(elem).append('<span class="rem">X</span>').on('click', function(){
      $(this).parent().remove();
     });


    Нужно привязать данные к созданным элементам.
    Ответ написан
    Комментировать