未捕获的SyntaxError:意外的令牌

时间:2014-06-30 22:33:27

标签: javascript jquery html

我正在尝试动态生成以下HTML:

<ul>
   <li>Butter Extra</li>
   <li>Butter Extra</li>
</ul>

我是这样尝试的:

var toppingval = 'Butter Extra,Butter Extra';

if (toppingval.indexOf(",") > 0)
{
    var array = toppingval.split(',');
    var uitaghtml = '<ul>' +
    for (var z = 0; z < array.length; z++) 
    {
        '<li>' + array[z] + '</li>' +
    }
    '</ul>';
}

但是当我尝试这个时,它会在控制台中抛出异常

Uncaught SyntaxError: Unexpected token for  

有人可以让我知道如何解决这个问题吗?

2 个答案:

答案 0 :(得分:3)

您尝试将for循环连接到字符串。那不是一件事。创建一个您在for循环中连续附加的新变量。

var toppingval = 'Butter Extra,Butter Extra';

if (toppingval.indexOf(",") > 0) {
  var array = toppingval.split(',');
  var uitaghtml = '<ul>';
  for (var z = 0; z < array.length; z++) {
    uitaghtml = uitaghtml + '<li>' + array[z] + '</li>';
  }
  uitaghtml = uitaghtml + '</ul>';
}

答案 1 :(得分:0)

你正在尝试做一些你做不到的事情。从语法上讲,您不能打开追加的运算符+ - 您要尝试执行此操作,而是将li添加到ul中。试试这个:

var uitaghtml = $('<ul></ul>');
for (var z = 0; z < array.length; z++) 
{
 uitaghtml.append($("<li>" + array[z] + "</li>"));
}