获取不包含';不包含使用普通javascript的图形

获取不包含';不包含使用普通javascript的图形,javascript,Javascript,我正在尝试获取所有不包含图形的父项。然后,我将循环该项,并将其中的图像包装到一个图形中(如果该图形不存在)。我已经成功地将每个图像循环并包装在一个图形中,但是如果该图形已经存在,我想跳过它。我希望只使用javascript而不是jquery。谢谢你的帮助 HTML <div class="carousel-item active"> <figure class="figure-image"> <img src="https://via.pla

我正在尝试获取所有不包含图形的父项。然后,我将循环该项,并将其中的图像包装到一个图形中(如果该图形不存在)。我已经成功地将每个图像循环并包装在一个图形中,但是如果该图形已经存在,我想跳过它。我希望只使用javascript而不是jquery。谢谢你的帮助

HTML

<div class="carousel-item active">
    <figure class="figure-image">
        <img src="https://via.placeholder.com/350x150" class="Image-1" alt="Second Slider Slide">
    </figure>
</div>

<div class="carousel-item">
     <img src="https://via.placeholder.com/350x150" class="Image-2" alt="Second Slider Slide">
</div>

JS

这个JS循环并包装了一个图形中的所有图像,但是如果一个图形已经存在,根据我上面的例子,if将添加一个图形和一种方式,导致一个元素有两个图形。我认为解决办法是只抓取Caroselitems而不抓取。图中的图像从一开始就是正确的,但我不确定如何做到这一点

let carouselItem = [...document.querySelectorAll('.slider-image .carousel-item')]

  for (let i = 0; i < carouselItem.length; i++) {
    // Check to see if a figurea lready exists


    // Create a figure for each class and add class to it.
    let figure = document.createElement('figure')
    figure.classList.add('figure-image')
    // Get all images inside of the slider
    let carouselImg = [...carouselItem[i].querySelectorAll('img')]

    for (let img of carouselImg) {
      // Insert the images into each figure
      figure.insertAdjacentElement('afterbegin', img)
    }

    // Finally insert the figure with the image into each carousel slot
    carouselItem[i].insertAdjacentElement('afterbegin', figure)
  }
let carouselItem=[…document.queryselectoral('.slider image.carousel item')]
for(设i=0;i
您可以使用如下内容检查元素是否有子元素:
carouselItem[i]。querySelector(“图”)

下面是一个完整的示例:

let carouselItem=[…document.queryselectoral('.carousel item')]
for(设i=0;i

这是来自:

“由于文档片段位于内存中,而不是主DOM树的一部分,因此向其添加子元素不会导致页面回流(元素位置和几何图形的计算)。从历史上看,使用文档片段可以获得更好的性能。”

在我的代码中,我使用了
createDocumentFragment()
方法

让imgs=Array.from(document.querySelectorAll(“img”);
for(设i=0;i
图{边框:1px实心}


@Greggz它应该显示两幅图像,如果不是这样的话,它应该将
元素包装在
元素中。明白了,我想这是为了挑选那些没有这个功能的图形类!谢谢我应该看到的。我想是因为盯着它看太久了。当它允许我回答时,我会做标记!也许你可以利用这个功能?