获取不包含';不包含使用普通javascript的图形
我正在尝试获取所有不包含图形的父项。然后,我将循环该项,并将其中的图像包装到一个图形中(如果该图形不存在)。我已经成功地将每个图像循环并包装在一个图形中,但是如果该图形已经存在,我想跳过它。我希望只使用javascript而不是jquery。谢谢你的帮助 HTML获取不包含';不包含使用普通javascript的图形,javascript,Javascript,我正在尝试获取所有不包含图形的父项。然后,我将循环该项,并将其中的图像包装到一个图形中(如果该图形不存在)。我已经成功地将每个图像循环并包装在一个图形中,但是如果该图形已经存在,我想跳过它。我希望只使用javascript而不是jquery。谢谢你的帮助 HTML <div class="carousel-item active"> <figure class="figure-image"> <img src="https://via.pla
<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它应该显示两幅图像,如果不是这样的话,它应该将
元素包装在
元素中。明白了,我想这是为了挑选那些没有这个功能的图形类!谢谢我应该看到的。我想是因为盯着它看太久了。当它允许我回答时,我会做标记!也许你可以利用这个功能?