右括号在那里,为什么说它缺少括号?

时间:2019-03-26 16:45:28

标签: jquery

为什么不起作用?我不确定为什么会说语法错误,当结束括号很明显的地方(第32行),它说缺少.append()的括号。

enter image description here

有人告诉我反斜杠\用于.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()
  };

我希望数组中的图像可以显示在我的网页中。该数组称为“作品”。

3 个答案:

答案 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()