Наблюдение за несколькими дочерними узлами с помощью ResizeObserver в JavaScript

“Найдите более одного дочернего узла с API childrenв JavaScript. Ошибка предполагает, что вы пытаетесь наблюдать за несколькими дочерними узлами с помощью свойства children, и появляется сообщение вместо этого используйте ResizeObserver.Collection.

Вот несколько методов, которые можно использовать с ResizeObserverи ResizeObserver.Collection:

  1. Использование 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));
  2. Использование цикла: если у вас есть массив дочерних узлов, вы можете перебирать их и наблюдать за каждым узлом индивидуально. Например:

    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));
  3. Использование ResizeObserver.Collection: это специализированный класс, предоставляемый API ResizeObserver, который позволяет наблюдать за несколькими элементами одновременно. Вы можете создать коллекцию и добавить в нее дочерние узлы. Например:

    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();