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 に答える