За последние 24 часа нас посетили 16687 программистов и 1604 робота. Сейчас ищут 1295 программистов ...

Создание и удаление вложенных img

Тема в разделе "JavaScript и AJAX", создана пользователем ibufet, 4 ноя 2017.

  1. ibufet

    ibufet Новичок

    С нами с:
    4 ноя 2017
    Сообщения:
    1
    Симпатии:
    0
    Нужно немного переделать рабочий код.
    Сейчас при клике по любому квадрату(.box) к нему добавляется класс .bg с соответствующим номером, а при повторном клике класс .bg снова удаляется.

    Как сделать чтобы к .box добавлялся не класс, а img ?
    т.е.:
    Было, до клика: <div class="box"></div>
    После клика: <div class="box"><img ...></div>
    При повторном клике опять: <div class="box"></div>

    HTML:
    1.  
    2. <!DOCTYPE html>
    3. <html lang="en">
    4. <meta charset="UTF-8">
    5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
    7. <title>Document</title>
    8. </head>
    9.  
    10. .box {float: left; width: 150px; height: 150px; margin: 5px; background-color: darkgreen; }
    11. .bg1 {background-image: url('image1.jpg');}
    12. .bg2 {background-image: url('image2.jpg');}
    13. .bg3 {background-image: url('image3.jpg');}
    14. .bg4 {background-image: url('image4.jpg');}
    15. .bg5 {background-image: url('image5.jpg');}
    16. .bg6 {background-image: url('image6.jpg');}
    17.  
    18. <div class="box"></div>
    19. <div class="box"></div>
    20. <div class="box"></div>
    21. <div class="box"></div>
    22. <div class="box"></div>
    23. <div class="box"></div>
    24.  
    25. var box = document.getElementsByClassName('box');
    26. for (var i = 0; i < box.length; i++) {
    27. box[i].addEventListener('click', function() {
    28. this.classList.toggle('bg' + this.getAttribute("id"));
    29. });
    30. box[i].setAttribute('id', i + 1);
    31. };
    32.  
    33. </body>
    34. </html>
    35.  
     
  2. СтудПом

    СтудПом Новичок

    С нами с:
    8 ноя 2017
    Сообщения:
    17
    Симпатии:
    0
    В обработчике клика, смотрите есть ли дочерний элемент. Если есть - удаляете, если нет - создаёте и вставляете.