1

jQueryで配列から画像をロードすることは可能ですか?

The array looks like: var imgNames = ['images/image01.jpg, images/image02.jpg, images/image03.jpg']

そして、親要素内に次のものを作成したい:

<div id="imgNames">
  <img src="images/image01.jpg">
  <img src="images/image02.jpg">
  <img src="images/image03.jpg">
</div>

私は次のことを試しました:

preload = function() {
    this.each(function(){
        $('<img/>')[0].src = imgNames;
    });
}
  var imgNames = ['images/image01.jpg, images/image02.jpg, images/image03.jpg'];
    $(document).ready(function(){
   // Preload Images:
preload();

});

これはオンラインで見つけましたが、既存の要素を作成するのではなく、置き換えるように調整されていると思います。

4

3 に答える 3

2

既存の div を想定:

<div id="imgNames"></div>

次に、次のように配列をループできます。

var imgNames = ['images/image01.jpg', 'images/image02.jpg', 'images/image03.jpg'];

$(document).ready(function() {
    var $div = $("#imgNames");

    $.each(imgNames, function(i, val) {
        $("<img />").attr("src", val).appendTo($div);
    });
});

注:上記のKristerのコメントによると、配列には3つの画像名すべてを含む文字列である1つの要素があります。それぞれ 1 つのファイル名を持つ 3 つの文字列を含めることを意図していると思います。

于 2012-06-25T14:31:32.860 に答える
0

これを試して

preload=function(){   
$.each(imgNames,function(index,value){
$("#imgNames img:nth-child("index")").attr('src',value)
});
}
于 2012-06-25T14:45:21.027 に答える
0

はい、できます

以下のコードをご覧ください

preload = function(images) {
    $(images).each(function() {
        $('<img/>').attr("src", this).appendTo("#imgNames");
    });
}
var imgNames = ['images/image01.jpg', 'images/image02.jpg', 'images/image03.jpg'];
$(document).ready(function() {
    // Preload Images:
    preload(imgNames);

});​
于 2012-06-25T14:31:21.520 に答える