【问题标题】:jquery remove duplicate images [closed]jquery删除重复的图像[关闭]
【发布时间】:2013-06-14 08:53:58
【问题描述】:

我正在尝试找到一种使用 jQuery 删除页面上重复图像的快速简便方法。

我有一组图像被拉入,其中大多数是重复的或具有相同的 url。

我在这里尝试了解决方案:Filtering duplicate img src with jQuery unique or remove,但它似乎不起作用。

以前有人做过类似的事情吗?

PHP:

public function getWeeklyTrackChartGrid($methodVars) {
    // Check for required variables
    if ( !empty($methodVars['group']) ) {
        $vars = array(
            'method' => 'group.getweeklytrackchart',
            'api_key' => $this->auth->apiKey
        );
        $vars = array_merge($vars, $methodVars);

        if ( $call = $this->apiGetCall($vars) ) {
            $i = 0;


            $loopN = $call->weeklytrackchart->track;


            foreach ($loopN as $track ) {

                require 'config.php';
                 //if(++$i > $userLimit*2) break;


                 $albumArtS = $tracks['album']['image']['small'] = (string) $track->image[0];
                 $albumArtM = $tracks['album']['image']['small'] = (string) $track->image[1];
                 $albumArtL = $tracks['album']['image']['small'] = (string) $track->image[2];

                 $playCounts = $tracks[$i]['playcount'] = (string) $track->playcount; 

                 ?>


                   <?php if ($playCounts > 1)  { ?>

                   <?php if ($albumArtL)  { ?>

                        <img src="<?php echo $albumArtL; ?>" />

                        <?php } ?>

                   <?php } else { ?>

                   <?php if ($albumArtM)  { ?> 

                        <img src="<?php echo $albumArtM; ?>" />

                        <?php } ?>

                   <?php } ?>


                 <?php if ($albumArtwork == "yes")  { ?>


                    <?php if ($albumArt)  { ?>


                    <?php } }?>



            <?php   $i++;
            }
            return $tracks;
        }
        else {
            return FALSE;
        }
    }
    else {
        // Give a 91 error if incorrect variables are used
        $this->handleError(91, 'You must include a group variable in the call for this method');
        return FALSE;
    }
}

jQuery:

$(function(){
    var srcs = [],
        temp;
    $("img").filter(function(){
        temp = $(this).attr("src");
        if($.inArray(temp, srcs) < 0){
            srcs.push(temp);   
            return false;
        }
        return true;
    }).remove();
});

【问题讨论】:

  • 你能发布你的代码吗?
  • 该代码与 jQuery 有什么关系?那是PHP
  • 我不是 php,但我想用 jQuery 删除
  • 所以,嗯,请向我们展示一下您对 jQuery 的尝试。毕竟,你说过你尝试了一些东西,但没有成功。
  • 我在上面的代码中添加了 jQuery

标签: php jquery duplicates


【解决方案1】:

这个解决方案对我有用:

var img_array = $("#singleTracks img").map(function() {
  return $(this).attr("src");
});
img_array = $.unique(img_array);
img_array.each(function(index, value){
    var sel = '#singleTracks img[src="' + value+ '"]';
    var imgs = $(sel).not($(sel + ':first'));
    imgs.remove();
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-06
    • 2021-11-25
    • 1970-01-01
    • 2020-06-26
    • 2021-08-22
    • 1970-01-01
    • 2014-04-19
    • 2019-12-18
    相关资源
    最近更新 更多