为什么不起作用?我不确定为什么会说语法错误,当结束括号很明显的地方(第32行),它说缺少.append()的括号。
有人告诉我反斜杠\用于.append()中的换行符
for(var i = 0; i < works.length; ++i) {
$('#work').append('\
<div class='col-sm'>\
<img class='img-responsive' src='" + works[i] + "'>\
</div>\
'); //THIS IS THE END PARENTHESIS FOR .APPEND()
};
我希望数组中的图像可以显示在我的网页中。该数组称为“作品”。
答案 0 :(得分:3)
如果您可以使用ES6,则此处的模板文字可以消除多行字符串转义的复杂性/麻烦。
const works = ['http://placekitten.com/150/150', 'http://placekitten.com/200/200']
for (let i = 0; i < works.length; ++i) {
$('#work').append(`
<div class='col - sm '>
<img class='img - responsive' src='${works[i]}' alt=''>
</div>
`);
};
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="work"></div>
答案 1 :(得分:1)
看看语法高亮部分,您正在关闭引号,并且解释器正在读取字符串文字旁边的变量,因此抛出语法错误,我建议您使用ES6 Template literals或密切注意您如何使用单引号和双引号
尝试
for(var i = 0; i < works.length; ++i) {
$('#work').append(`
<div class='col-sm'>
<img class='img-responsive' src='${works[i]}>
</div>
`); //THIS IS THE END PARENTHESIS FOR .APPEND()
};
答案 2 :(得分:0)
如果您使用单引号将您的附加字符串括起来,则应在其中使用双引号,否则您需要转义包含在开头和结尾的单引号中的其他单引号,我会采用后一种方式并更改为:
$('#work').append('<div class="col-sm"><img class="img-responsive" src="' + works[i] + '"></div>'); //THIS IS THE END PARENTHESIS FOR .APPEND()