Задать вопрос
@zeni1agent

Как закрепить добавленый элемент?

Я с помощью кнопки добавляю html
function add(){
  //Генепация html
  var html = '<div class="but">TEST</div><div class="content">bff</div>';
  // Сохранение кода
  $('#cont').append(html);
  $('#cont2').val($('#cont').html());
  // Действие для каждого добавленного элемента
  $( "body" ).on('click', '.but', function(e) {
    $('.content').css('color','red');
  });
}
// Добавление html кода по нажатию на кнопку
$( "body" ).on('click', '#click_but', function(e) {
  add();
});
// Кнопка для демонстрации вывода html из БД нажать перед
// Для понимания проблемы нажать на нее перед #click_but а потом на .but
$( "body" ).on('click', '#show', function(e) {
  var val = $('#cont2').val()
  $('#cont').html(val);
});

Но проблема в том что событие 'click', '.but', срабатывает на все элементы. как назначить событие на каждый элемент отдельно?
Использовать $(this) .parent() .child() .after() .before(). Не имеет смысла так как если я изменю положение элементов в var html то все придется переделывать.
И как сохранить в textarea весь html код так что бы при воспроизведении его js все еще работал.
  • Вопрос задан
  • 42 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
@thisuserhatephp
Офлайн - losers Онлайн - lusers
https://codepen.io/5h4dy_s/pen/XWKBOvx?editors=1011


Использовать $(this) .parent() .child() .after() .before(). Не имеет смысла так как если я изменю положение элементов в var html то все придется переделывать.

Не придётся, если изначально задать этим элементам родитель и ссылаться на него через closest('.parent');

И как сохранить в textarea весь html код так что бы при воспроизведении его js все еще работал.
- не понял

ps
Лучше дополни вопрос, напиши что ты хочешь сделать, а то твой код выглядит просто ужасно.

Что за курсы и кто вас учит использовать id там где нужно использовать классы и наоборот ? Периодически вижу такое.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Che603000
c 2011 javascript
// только на элемент с id=“click_but“
$( "#click_but”).on(“сlick”,  function(e) {  
       add();
})
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы