我已经在函数中定义了一个变量,该变量将'data'属性提供的值存储在标签中。
即<img data-value="##"/>
(##表示1到XX之间的数字)。
我已经这样存储了该变量:
$dataValue = $('img').attr('data-value');
我现在想使用$dataValue
变量将所有<img>
标记附加所有值。例如,假设数据值为4,则输出为:
<img src="http://placehold.it/50x50?text=1" />
<img src="http://placehold.it/50x50?text=2" />
<img src="http://placehold.it/50x50?text=3" />
<img src="http://placehold.it/50x50?text=4" />
到目前为止,我已经完成了以下操作,但是我无法找到一种方法来递增数字“ 4”(或数据值是任何数字),并以递增的顺序吐出4个图像标签,如图所示以上。
var img = '<img src="http://placehold.it/50x50?text=' + $dataValue + '" />';
// <img src="http://placehold.it/50x50?text=4" />
如何实现上面的输出,以便记录从1开始的所有数字,直到数据值数字为止。我想使用这些标签,然后将这些标签附加到另一个地方。
答案 0 :(得分:2)
您只需要基本的loop
var dataValue = $('img').data('value');
for (i = 1; i <= dataValue; i++) {
$('.container').append('<img src="http://placehold.it/50x50?text=' + dataValue + '" />')
}
$('.container')
是要添加图像的元素的名称。
此外,我建议您使用.data()
而不是.attr()
来获取dataValue,因为.data()就是为此而创建的。
还请记住,.append()
可以更改为其他方法,例如.before()
,.after()
,.prepend()
等。我建议您仔细阅读所用的方法需要。