SyntaxError:期望表达式,得到关键字'for'。?

时间:2017-04-30 07:31:38

标签: javascript jquery ajax codeigniter

这里我收到此代码的错误。我想在dynamiHTML内打印循环。任何人都可以帮助我。?

function createDiv(data){
var dynamicHTML = '';
alert(data.res2.length);

        dynamicHTML += '<div id="'+ data.res2[i].Paper_Type +'" class="tabcontent" style="border:none;">'+
            for(var i=0; i<data.res2.length; i++){
            +'<div class="input-group" style="border-color:#3D8EB9; box-shadow: 1px 1px 1px 1px #888888; margin-bottom: 3px; background-color: #fff;">'+
                '<label style="padding:10px 10px;">'+ data.res2[i].Paper_Name +'</label>'+
                '<span class="input-group-btn" style="padding-top:10px;">'+
                    '<button class="btn btn-info" type="button">Go!</button>'+
                '</span>'+   
            '</div>'+ } +
        '</div>';
  $('div#tabs_data').append(dynamicHTML);
}

3 个答案:

答案 0 :(得分:1)

在创建和连接html字符串文字时运行for循环可能是不可能的。

您可以分离功能

 function createDiv(data) {
      var dynamicHTML = '';
      var innerContent = '';
      for (var i = 0; i < data.res2.length; i++) {
        innerContent += '<div class="input-group" style="border-color:#3D8EB9; box-shadow: 1px 1px 1px 1px #888888; margin-bottom: 3px; background-color: #fff;">' +
          '<label style="padding:10px 10px;">' + data.res2[i].Paper_Name + '</label>' +
          '<span class="input-group-btn" style="padding-top:10px;">' +
          '<button class="btn btn-info" type="button">Go!</button>' +
          '</span>' +
          '</div>' +
      }

      dynamicHTML += '<div id="' + data.res2[i].Paper_Type + '" class="tabcontent" style="border:none;">' + innerContent + '</div>';
      $('div#tabs_data').append(dynamicHTML);
    }

答案 1 :(得分:0)

function createDiv(data) {
    var dynamicHTML = '';
    alert(data.res2.length);
    for (var i = 0; i < data.res2.length; i++) {
        dynamicHTML += '<div id="' + data.res2[i].Paper_Type + '" class="tabcontent" style="border:none;">' +
                '<div class="input-group" style="border-color:#3D8EB9; box-shadow: 1px 1px 1px 1px #888888; margin-bottom: 3px; background-color: #fff;">' +
                    '<label style="padding:10px 10px;">' + data.res2[i].Paper_Name + '</label>' +
                    '<span class="input-group-btn" style="padding-top:10px;">' +
                        '<button class="btn btn-info" type="button">Go!</button>' +
                    '</span>' +
                '</div>' +
            '</div>';
    }
    $('div#tabs_data').append(dynamicHTML);
}

答案 2 :(得分:0)

&#13;
&#13;
$( window ).load(function() {
  var html = "";
  var data = [];
  var i=0;
  while(i<10){
    data[i]="hello user_"+i;
    html = html+"<div id = \""+i+"\">";
    html = html+data[i];
    html = html+"</div>";
    i++;
  }
 $('#container').append(html);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id = "container">
</div>
&#13;
&#13;
&#13;

您可以遵循的一个简单示例。

如您所见,我拆分了html和javascript。 Html代码变为红色,javascript变为其他颜色。

我得到这个的方法是通过搅拌连接。

当你使用&#34;&#34;在你的字符串中。你必须这样做:

html <div = id = \" " + i + "\">";