查找匹配的img src并删除它存在不止一次- Javascript

Find matching img src and removing if exists more than once - Javascript

本文关键字:存在 不止一次 Javascript 删除 img src 查找      更新时间:2023-09-26

一旦点击另一个列表中的图像,我会立即将图像添加到无序列表中。基本上就是将图像从一个列表传递到另一个列表。然而,我想检查图像是否刚刚传递到新的列表已经存在,如果它停止添加图像。(或者删除它,如果它已经添加)。

目前我有下面的

$('.slick-slide').on('click', function(){
    var img = $(this).find("img");
    var img_src = $(img).attr('src');
    var full_src = "<li><img class='basket-image' src='"+img_src+"'/></li>";
    $(full_src).appendTo(".light-basket");
    checkBulbSrc(img_src);
});
function checkBulbSrc(clickedSource) {
    $('.light-basket').find('li').each(function() {
      var basket_img = $(this).find("img");
      var basket_img_src = $(basket_img).attr('src');
      if(basket_img_src == clickedSource){
      }
    });
};

我已经得到了附加的工作,但是我现在想要我的checkBulbSrc函数检查图像是否已经存在,而不是添加它。我想我可能需要加载原始图像src到一个数组,然后检查追加之前?

任何想法?

D

您所需要的是:

//Get a reference to the element
var $lightBasket = $(".light-basket");
$('.slick-slide').on('click', function() {
    var img = $(this).find("img");
    var img_src = $(img).attr('src');
    var full_src = "<li><img class='basket-image' src='"+img_src+"'/></li>";
    //If the image doesn't exist, then append
    if ( !$lightBasket.find("img[src='"+img_src+"']").length ) {
        $lightBasket.append(full_src);
    }
});