Как применить div, вставленный в другой div, ко всем элементам с одинаковым именем класса

Я хочу вставить или обернуть свой второй div в другой новый контейнер div, но он не применялся через все то же имя класса. Пожалуйста, проверьте и дайте мою идею, чего не хватает.

<div class = "section" id = "section1">
  <div id = "myDIV"> --> I want to wrap this into a new div
   asdasd
  </div>
</div>

<div class = "section" id = "section1">
 <div id = "myDIV">
  cbcvbcvb
 </div>
</div>

<script>
//org_html = document.getElementById("section1").innerHTML;
//new_html = "<div class='mydiv-container'>" + org_html + "</div>";
//document.getElementById("section1").innerHTML = new_html;

const parentObject = document.getElementById('section1').innerHTML;

[...parentObject].forEach((parent, i) => {
  //const childElement = document.createElement('div');
  const childElement = "<div class='slidesInner'>" + parentObject + </div>";
  document.getElementById("section1").innerHTML = childElement;

});
</script>

Результат должен быть таким:

 <div class = "section" id = "section1">
  <div class = "mydiv-container">
   <div id = "myDIV">
    cbcvbcvb
   </div>
  </div>
</div>

<div class = "section" id = "section1">
 <div class = "mydiv-container"> <-- this is not showing in the second section
  <div id = "myDIV">
   cbcvbcvb
  </div>
 </div>
</div>

Вы не можете повторять идентификаторы. Вы не выбираете по классу, вы выбираете по идентификатору, и, как я уже сказал, они должны быть уникальный для каждого раздела.

Paulie_D 29.05.2019 17:46

то есть вы имеете в виду, что я создам код #section1, а затем разделю для #section2 с тем же именем класса, вставленным как mydiv-container?

Rene Chin 29.05.2019 17:51
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
2
38
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Во-первых, здесь опечатка "<div class='slidesInner'>" + parentObject + </div>"; . Вы можете видеть, что в конце </div>" нет открывающей кавычки ".

Во-вторых, вам не нужно перебирать содержимое innerHTML. Так как innerHTML выдаст контент, подобный <div id = "myDIV">asdasd</div>. Вы можете получить это с помощью querySelectorAll и использовать литералы шаблонов для создания нового div-оболочки и установить innerHTML

const parentObject = document.querySelectorAll('.section');
parentObject.forEach(function(item, index) {
  item.innerHTML = `<div class='slidesInner' id='subSection_${index}'>${item.innerHTML}</div>`;
})
.slidesInner {
  color: green;
}
<div class = "section" id = "section1">
  <div id = "myDIV">
    asdasd
  </div>
</div>

<div class = "section" id = "section2">
  <div id = "myDIV2">
    cbcvbcvb
  </div>
</div>

извините за опечатку, ваш код дает мне циклы для class = "slidesInner" и он зацикливается только в первом разделе, я только хочу, чтобы class = "myDIV" был одним и тем же классом во всех разделах, которые я хочу добавить. например, id=section1, id=section2, id=section3, внутренний будет class=myDIV, только не числом. ценю твою помощь. Спасибо

Rene Chin 29.05.2019 18:17

Привет, есть ли у вас другой способ решить эту проблему? помощь будет очень признательна. Спасибо

Rene Chin 30.05.2019 07:16

Другие вопросы по теме