1

我有一个要显示缩略图的项目列表。但是,如果任何缩略图被记录为丢失,我想显示一个“丢失的图像”图像。该列表可能很长,因此我想在需要时重复使用相同的“缺失图像”。

但是,下面的测试代码只生成了一个图像副本——最后一个添加的。我的问题:如何多次添加一个元素而不必每次都执行 new() ?

ImageElement img = new ImageElement();
img.src= "http://myserver/missing.png";  
...
div.nodes.add(img);    
div.appendText('11111');
div.nodes.add(img);    
div.appendText('22222');
div.nodes.add(img);    
div.appendText('33333');
4

1 回答 1

2

使用该代码,您不会向div元素添加新图像。div.nodes.add(img)实际上将作为最后一个节点附加到元素imgdiv(在引擎盖下nodes.add(node)使用Node.appendChild)。

要使其工作,您必须ImageElement为每个div.nodes.add(img). 您还可以使用Node.clone()创建一个新的ImageElement.

在您的情况下类似于以下内容:

final img = new ImageElement(src:"http://myserver/missing.png");
div.nodes.add(img.clone(false));
div.appendText('11111');
div.nodes.add(img.clone(false));
div.appendText('22222');
div.nodes.add(img.clone(false));
div.appendText('33333');
于 2013-01-10T17:07:21.617 回答