我有一个对象数组(array
),每个对象都有一个包含路由到图像的URL字符串的属性。我正在尝试使用jQuery循环遍历这个数组,并将每个对象的图像附加到div
中。这是我的代码:
for (var i = 0; i < array.length; i++) {
$('#div').append("<img src="array[i].URL" alt="pic">");
}
注意:我使用了反斜杠来转义img标记中的引号。
javascript没有在append
方法内部进行计算,它只是在页面上打印图像地址的"array[i].URL"。
有人能提醒我在这里做错了什么吗?
您有很多选择:
-
$()
和attr
:for (var i = 0; i < array.length; i++) { $('#div').append( $('<img alt="pic">').attr("src", array[i].URL) ); }
-
字符串串联:
for (var i = 0; i < array.length; i++) { $('#div').append( '<img src="' + array[i].URL + '" alt="pic">' ); }
-
在ES2015+中,您有模板字符串:
for (var i = 0; i < array.length; i++) { $('#div').append( `<img src="${array[i].URL}" alt="pic">` ); }
注意
${
和}
—它们之间的比特由JavaScript引擎进行评估,并在该点进行交换。还要注意,它们是用反引号引用的,而不是单引号或双引号。