Добрый день, подскажите, как вывести на экран содержимое массива, в таком виде, в каком мы его первоначально собрали с сайта(теги и классы)
Есть html. В самой первой ul у нас всегда 15 элементов. В других может быть от 0 до бесконечности. Но показываться должно не более 15. Сделала с помощью css (overflow-y: hidden), чтоб больше положенного не отображалось.
<ul class="product-menu__list">
<li class="product-menu__item">
<a href="javascript:;" class="product-menu__item_link">Элемент элемент1</a>
<ul class="dropdown-menu js-first-lev">
<li class="dropdown-menu__item">
<a class="dropdown-menu__item-link" href="javascript:;">Элемент элемент1</a>
</li>
<li class="dropdown-menu__item">
<a class="dropdown-menu__item-link" href="javascript:;">Какой-то элемент большой</a>
</li>
</ul>
</li>
</ul>
Далее написала js где собрала массив с этих элементов, и создала кнопку, по которой должен прокручиваться массив показывая нужные элементы. Добавила кнопку в массив. Но не могу разобраться как отобразить массив на экране (в консоли то массив с кнопкой), а на сайте кнопка не отображается.
var dropDownMenuItems = Array.prototype.slice.call(document.querySelectorAll('.dropdown-menu__item'));
var productMenuItems = Array.prototype.slice.call(document.querySelectorAll('.product-menu__item'));
for(var productMenuItem of productMenuItems) {
productMenuItem.onmouseenter = function (evt) {
if(this.querySelector('.js-first-lev')) {
var arrayProductMenuItem = Array.prototype.slice.call(this.lastChild.querySelectorAll('.js-first-lev > .dropdown-menu__item'));
if(arrayProductMenuItem.length > 14) {
var newButtonDown = document.createElement('li');
newButtonDown.innerHTML = "<a> Показать еще </a>";
newButtonDown.className = "dropdown-menu__item dropdown-menu__item--grey without-dropdown";
console.log(newButtonDown);
arrayProductMenuItem.splice(14, 1, newButtonDown)
}
// this.lastChild.innerHTML = arrayProductMenuItem;
}
};
};
Может кто еще подскажет, как это написать более универсально, уровней 2, а у меня получается на каждый уровень надо писать такую штуку, потому что иначе отображается внутри элемента абсолютно все dropdown-menu__item (даже которые на 2 уровне), а мне надо только конкретно детей, не заходя в них глубже