0

我有一个插件可以找到给定父元素中的所有 img 元素。一些图像是我需要从数组中删除的重复图像。我想我可以将它们全部放入一个数组中,然后过滤掉重复项,或者在我遍历地图时进行某种条件检查,但不太确定该怎么做

jq插件

(function( $ ){
  $.fn.cacheImages = function() {
    this.find('img').map(function(){
      if($(this).attr('data-src') == null ||$(this).attr('data-src') == 'null'){
        return;
      }
      else{
        //do something here if $(this).attr('data-src') has not bed traversed yet
      }
    });
  };
})( jQuery );

然后称为

  $('#something-with-images').cacheImages();
4

2 回答 2

1

您可以在使用时将 URL 保存到对象中吗?

(function( $ ){

    var srcURLs = {};

    $.fn.cacheImages = function() {

        this.find('img').map(function(){
            var thisSrc = $(this).attr('data-src');

            if(thisSrc == null || thisSrc == 'null' || srcURLs[thisSrc]){
               return;
            }
            else{
                srcURLs[thisSrc] = 1;
                 //do something here if $(this).attr('data-src') has not bed traversed yet
            }


    });

})( jQuery );
于 2012-09-20T12:56:20.507 回答
1

未经测试,但这应该有效,

 (function( $ ){
      var list = {};
      $.fn.cacheImages = function() {
        this.find('img').filter(function(){
          var src = $(this).data('src');
             if(src !== 'null' && src !== null && typeof list[src] == 'undefined') {
                 list[src] = true;
                 return true;
             }
          }
        });
      };
    })( jQuery );

。筛选()

于 2012-09-20T13:10:16.677 回答