Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我需要将节点列表从一个父节点移动到另一个父节点_Javascript_Html_Javascript Objects - Fatal编程技术网

Javascript 我需要将节点列表从一个父节点移动到另一个父节点

Javascript 我需要将节点列表从一个父节点移动到另一个父节点,javascript,html,javascript-objects,Javascript,Html,Javascript Objects,当我到达一个特定的断点时,我试图将一个节点列表(在我的例子中是类名为“.images”的img HTML标记)移动到另一个父节点,作为该新父节点的第一个子节点 /* BEFORE BREAKPOINT */ <div class="old-parent"> <img class="images"> <div class="new-parent"> </div> </

当我到达一个特定的断点时,我试图将一个节点列表(在我的例子中是类名为“.images”的img HTML标记)移动到另一个父节点,作为该新父节点的第一个子节点

/* BEFORE BREAKPOINT */
<div class="old-parent">
   <img class="images">
   <div class="new-parent">
   </div>
</div>

<div class="old-parent">
   <img class="images">
   <div class="new-parent">
   </div>

</div>

<div class="old-parent">
   <img class="images">
   <div class="new-parent">
   </div>
</div>
然后在控制台中返回一个错误:

未捕获的TypeError:未能在“节点”上执行“insertBefore”:参数1不是“节点”类型


您需要索引
图像
以一次移动一个图像

const changeImg=(e,i)=>{
如果(如匹配){
newParent.forEach(元素=>{
elem.insertBefore(images[i],elem.childNodes[0]);
})
}

};
您需要索引
图像
以一次移动一个图像

const changeImg=(e,i)=>{
如果(如匹配){
newParent.forEach(元素=>{
elem.insertBefore(images[i],elem.childNodes[0]);
})
}
};
/*AFTER REACHING THE BREAKPOINT*/

<div class="old-parent">
   <div class="new-parent">
     <img class="images">
   </div>
</div>

<div class="old-parent">
   <div class="new-parent">
     <img class="images">
   </div>
</div>

<div class="old-parent">
   <div class="new-parent">
     <img class="images">
   </div>
</div>
const newParent = document.querySelectorAll('.new-parent');
const images = document.querySelectorAll('.images');
const mediaQ = window.matchMedia('(max-width: 494px)');

const changeImg = (e) => {
    if (e.matches) {
        newParent.forEach(elem => {
            elem.insertBefore(images, elem.childNodes[0]);
        })
    }
};

mediaQ.addEventListener('change', changeImg);