-1

我尝试在javascript中创建一个图像,每个图像都必须在一个<li>元素内,图像的名称在一个数组中。

我这样做

    var imagenes=[];

     var ruta= "images/proyectos/"+datos[0].nombre.replace(/ /g,"_")+"/";

    for(x=1; x<datos[0].imagenes_a_mostrar.length; x++){
        nombreimage=ruta + datos[0].imagenes_a_mostrar[x];

        var laimagen = new Image();
        laimagen.src=nombreimage;
        imagenes= this.$listado.append(laimagen);


    }

在哪里

   this.$listado=$('<li></li>')

是列表

我在控制台图像中显示...我只有一个<li>和这样的名称

p.fn.p.init[1]
0: li
accessKey: ""

.....
innerHTML: "<img src="images/proyectos/Mercado_de_las_palmas_renovation/leisurehospitality.jpg"><img src="images/proyectos/Mercado_de_las_palmas_renovation/mixed-used.jpg">"
innerText: ""
isContentEditable: false
lang: ""
...

如何获得两个li图像。

4

2 回答 2

1

我不确定你的整个 HTML,但代码应该是这样的;

var ruta= "images/proyectos/"+datos[0].nombre.replace(/ /g,"_")+"/";
var $ul = $(".ul-to-insert-li");
for(x=1; x<datos[0].imagenes_a_mostrar.length; x++){
    nombreimage=ruta + datos[0].imagenes_a_mostrar[x];

    var laimagen = new Image();
    laimagen.src=nombreimage;
    $ul.append($("<li>").html(laimagen));


}

$("<li>")零件创建 jquery li 元素并更改.html(laimagen)只是添加您刚刚创建的图像。

于 2013-06-07T17:02:28.220 回答
1

当您之前创建<li>变量 ( this.$listado=$('<li></li>')) 时,您只是将每个图像添加到该变量中<li>。正如您似乎期望的那样,它并不是<li>每次都重新创建一个。

所以,而不是:

imagenes= this.$listado.append(laimagen);

用这个:

imagenes= $('<li>').append(laimagen);

该代码将每个附加<img>到一个单独的<li>.

于 2013-06-07T17:03:54.387 回答