在给定预定义变量的情况下,如何在jQuery中计算出一定数量

时间:2018-08-30 14:55:01

标签: javascript jquery

我已经在函数中定义了一个变量,该变量将'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开始的所有数字,直到数据值数字为止。我想使用这些标签,然后将这些标签附加到另一个地方。

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()等。我建议您仔细阅读所用的方法需要。