У меня есть массив абзацев
infoArray= [
"<p data-i18next ='userGuideInfo.microbreak'></p>",
"<p data-i18next ='userGuideInfo.break'></p>",
"<p data-i18next ='userGuideInfo.notif'></p>",
"<p data-i18next ='userGuideInfo.tray1'></p>",
"<p data-i18next ='userGuideInfo.tray2'></p>",
"<p data-i18next ='userGuideInfo.tray3'></p>",
"<p data-i18next ='userGuideInfo.setting1'></p>",
"<p data-i18next ='userGuideInfo.setting2'></p>",
"<p data-i18next ='userGuideInfo.setting3'></p>"
]
Я хочу отображать их один за другим при нажатии кнопки. Я использую электронный JS. Мой HTML-код и JS-код
let infoDiv = document.querySelector('div[id=infoDisplay]')
let infoPara = document.querySelector('p[id=infoPara]')
infoPara.remove()
infoDiv.appendChild(infoArray[currIndex])<div id=infoDisplay>
<p id = "infoPara" data-i18next = "userGuideInfo.microbreak"></p>
</div>Может кто-нибудь подсказать, как мне это сделать? заранее спасибо



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вам нужно пройти через каждый элемент и либо добавить html, либо создать элемент-оболочку и добавить данные. Вот несколько подходов, которые вы можете выбрать, выберите свой любимый:
Мы можем воспользоваться преимуществом insertAdjacentHTML, используя beforeend в качестве первого параметра и наш html в качестве второго параметра, эта функция позволит нам разместить html во многих разных местах, поэтому он стоит первым в списке.
let infoArray= [
"<p data-i18next='userGuideInfo.microbreak'>1</p>",
"<p data-i18next='userGuideInfo.break'>2</p>",
"<p data-i18next='userGuideInfo.notif'>3</p>",
"<p data-i18next='userGuideInfo.tray1'>4</p>",
"<p data-i18next='userGuideInfo.tray2'>5</p>",
"<p data-i18next='userGuideInfo.tray3'>6</p>",
"<p data-i18next='userGuideInfo.setting1'>7</p>",
"<p data-i18next='userGuideInfo.setting2'>8</p>",
"<p data-i18next='userGuideInfo.setting3'>9</p>"
]
let infoDiv = document.querySelector('div[id=infoDisplay]')
let infoPara = document.querySelector('p[id=infoPara]')
infoPara.remove()
infoArray.forEach(item => {
infoDiv.insertAdjacentHTML('beforeend', item)
})<div id=infoDisplay>
<p id = "infoPara" data-i18next = "userGuideInfo.microbreak"></p>
</div>Создайте элемент-оболочку и добавьте его в div. Здесь используется appendChild, как в вашем примере.
let infoArray= [
"<p data-i18next='userGuideInfo.microbreak'>1</p>",
"<p data-i18next='userGuideInfo.break'>2</p>",
"<p data-i18next='userGuideInfo.notif'>3</p>",
"<p data-i18next='userGuideInfo.tray1'>4</p>",
"<p data-i18next='userGuideInfo.tray2'>5</p>",
"<p data-i18next='userGuideInfo.tray3'>6</p>",
"<p data-i18next='userGuideInfo.setting1'>7</p>",
"<p data-i18next='userGuideInfo.setting2'>8</p>",
"<p data-i18next='userGuideInfo.setting3'>9</p>"
]
let infoDiv = document.querySelector('div[id=infoDisplay]')
let infoPara = document.querySelector('p[id=infoPara]')
infoPara.remove()
infoArray.forEach(item => {
let div = document.createElement('div')
div.innerHTML = item
infoDiv.appendChild(div)
})<div id=infoDisplay>
<p id = "infoPara" data-i18next = "userGuideInfo.microbreak"></p>
</div>Добавьте данные в div с помощью innerHTML. Это исключает использование appendChild, который используется в вашем примере.
let infoArray= [
"<p data-i18next='userGuideInfo.microbreak'>1</p>",
"<p data-i18next='userGuideInfo.break'>2</p>",
"<p data-i18next='userGuideInfo.notif'>3</p>",
"<p data-i18next='userGuideInfo.tray1'>4</p>",
"<p data-i18next='userGuideInfo.tray2'>5</p>",
"<p data-i18next='userGuideInfo.tray3'>6</p>",
"<p data-i18next='userGuideInfo.setting1'>7</p>",
"<p data-i18next='userGuideInfo.setting2'>8</p>",
"<p data-i18next='userGuideInfo.setting3'>9</p>"
]
let infoDiv = document.querySelector('div[id=infoDisplay]')
let infoPara = document.querySelector('p[id=infoPara]')
infoPara.remove()
infoArray.forEach(item => {
infoDiv.innerHTML += item
})<div id=infoDisplay>
<p id = "infoPara" data-i18next = "userGuideInfo.microbreak"></p>
</div>
Спасибо, но, похоже, ни один из них не работает. Я продолжаю получать не могу удалить нуль. Также я хочу отображать только один параграф за раз. Зачем мне использовать петлю?