“Найдите более одного дочернего узла с API childrenв JavaScript. Ошибка предполагает, что вы пытаетесь наблюдать за несколькими дочерними узлами с помощью свойства children, и появляется сообщение вместо этого используйте ResizeObserver.Collection.
Вот несколько методов, которые можно использовать с ResizeObserverи ResizeObserver.Collection:
-
Использование
querySelectorAll. Вы можете выбрать несколько дочерних узлов с помощью селекторов CSS, а затем передать их в качестве аргументов методуResizeObserver.observe. Например:const elements = document.querySelectorAll('.child'); const observer = new ResizeObserver(entries => { for (let entry of entries) { // Handle resize entries here } }); elements.forEach(element => observer.observe(element)); -
Использование цикла: если у вас есть массив дочерних узлов, вы можете перебирать их и наблюдать за каждым узлом индивидуально. Например:
const elements = Array.from(document.getElementsByClassName('child')); const observer = new ResizeObserver(entries => { for (let entry of entries) { // Handle resize entries here } }); elements.forEach(element => observer.observe(element)); -
Использование
ResizeObserver.Collection: это специализированный класс, предоставляемый APIResizeObserver, который позволяет наблюдать за несколькими элементами одновременно. Вы можете создать коллекцию и добавить в нее дочерние узлы. Например:const collection = new ResizeObserver.Collection(entries => { for (let entry of entries) { // Handle resize entries here } }); collection.add(document.getElementById('child1')); collection.add(document.getElementById('child2')); collection.observe();